There is a cycle count register[1] I'm not using wireless, so I don't know it's current status.
--Mark [1] https://markayoder.github.io/PRUCookbook/07more/more.html#_using_the_built_in_counter_for_timing On Thursday, February 18, 2021 at 12:38:24 PM UTC-5 wal...@edenconceptsllc.com wrote: > I'll look into the pthread tutorials. > > So is there no way to just read the clock on the PRU to get elapsed time? > > Also, I've booted my BBB Wireless with the SD card with the OS that you > recommended and the access point doesn't come up. It doesn't appear to be > disabled in uEnv.txt. Any ideas on this? > > Walter > > On Thursday, February 18, 2021 at 11:45:52 AM UTC-5 Mark A. Yoder wrote: > >> I use *__delay_cycles()* on the PRU to get accurate timing. Each cycle >> is 5 ns. >> >> Here [1] is an example of passing data between the PRU and the ARM. >> >> Try googling *pthread tutorial,* there appear to be many examples. >> >> I'm still voting for pthreads. >> >> --Mark >> >> [1] >> https://markayoder.github.io/PRUCookbook/05blocks/blocks.html#_controlling_neopixels_through_a_kernel_driver >> >> >> On Thursday, February 18, 2021 at 11:27:48 AM UTC-5 >> wal...@edenconceptsllc.com wrote: >> >>> I think if I could just find how to read the clock on the PRU with C, I >>> can probably take it from here. And of course, it needs to be giving me >>> milliseconds. From what I read the main clock functions don't work below >>> seconds. >>> >>> >>> On Thursday, February 18, 2021 at 10:37:59 AM UTC-5 Mark A. Yoder wrote: >>> >>>> Have you tried starting a pthread that sleeps for 20 ms and then it >>>> stops the read? >>>> >>>> On Thursday, February 18, 2021 at 10:35:04 AM UTC-5 >>>> wal...@edenconceptsllc.com wrote: >>>> >>>>> Mark, >>>>> >>>>> I use usleep a lot but in this case I don't want to pause. I want to >>>>> keep reading the sensors for N milliseconds. I do pause between reads >>>>> using usleep(20000) to create a 20ms delay between sensor reads. I >>>>> started with a routine that essentially counts up the amount of time by >>>>> estimating how long the sensor read routine takes plus the fixed delay >>>>> time >>>>> between sensor reads and accumulating this value in a while loop until it >>>>> reaches the 'stop value' that is approximately the time the valve needs >>>>> to >>>>> stay on. But this is sketchy and I don't like it. Lots could go wrong. >>>>> >>>>> >>>>> In essence, I'm looking to interrupt the sensor read procedure after N >>>>> milliseconds pass. >>>>> >>>>> Walter >>>>> >>>>> >>>>> On Thursday, February 18, 2021 at 10:29:44 AM UTC-5 Mark A. Yoder >>>>> wrote: >>>>> >>>>>> Walter: >>>>>> It's good to hear you have the PRUs working. I still think if all >>>>>> you need is millisecond timing the PRUs are over kill. >>>>>> >>>>>> In C you can use *usleep()* and pass it the number of microseconds >>>>>> you want to pause. >>>>>> >>>>>> --Mark >>>>>> On Thursday, February 18, 2021 at 10:00:10 AM UTC-5 >>>>>> wal...@edenconceptsllc.com wrote: >>>>>> >>>>>>> I've gone through the cookbook and it's very helpful. >>>>>>> >>>>>>> I'm still fuzzy on how to do what I need to do. >>>>>>> >>>>>>> My main code for controlling the valves, getting user input, etc. is >>>>>>> in C. >>>>>>> >>>>>>> I need to call a procedure in C that reads sensors. I will pass >>>>>>> this procedure the number of milliseconds it should read the sensors >>>>>>> and >>>>>>> then return to the main program and turn the valves off. The number >>>>>>> of >>>>>>> milliseconds can, and will likely, change depending on what we are >>>>>>> processing with these valves. I get that input at the start of the >>>>>>> main >>>>>>> program. >>>>>>> >>>>>>> My thought is that in the procedure that reads the sensors, it will >>>>>>> grab a start time (doesn't have to be actual time) value from the PRU, >>>>>>> read >>>>>>> the sensors, and loop until the current time-start time equals the >>>>>>> amount >>>>>>> of time it should read the sensors. Then it will return to the main >>>>>>> program. >>>>>>> >>>>>>> I just don't know how to read the PRU's clock to get the time >>>>>>> values. I don't think I saw an example in the cookbook for >>>>>>> 'branching' >>>>>>> out from a main program to use the PRUs for this type of processing. >>>>>>> Just >>>>>>> point me in the right direction, please. >>>>>>> >>>>>>> Walter >>>>>>> >>>>>>> >>>>>>> On Thursday, February 18, 2021 at 9:27:34 AM UTC-5 Walter Cromer >>>>>>> wrote: >>>>>>> >>>>>>>> Mark , >>>>>>>> >>>>>>>> It is working with the updated OS. Thanks so much! >>>>>>>> >>>>>>>> Now I will explore how to get the simple timing that I need using >>>>>>>> the PRU. >>>>>>>> >>>>>>>> On Thursday, February 18, 2021 at 8:54:10 AM UTC-5 Walter Cromer >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Mark, >>>>>>>>> >>>>>>>>> With the current OS there isn't a /dev/remoteproc even. >>>>>>>>> >>>>>>>>> I'm going to try the updated OS build this morning. >>>>>>>>> >>>>>>>>> Walter >>>>>>>>> >>>>>>>>> On Wednesday, February 17, 2021 at 5:34:37 PM UTC-5 Mark A. Yoder >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> I fired up the Beagle at home it the PRU works out of the box. >>>>>>>>>> >>>>>>>>>> What do you get running >>>>>>>>>> *ls /dev/remoteproc* >>>>>>>>>> >>>>>>>>>> I get: >>>>>>>>>> *ls -ls /dev/remoteproc* >>>>>>>>>> total 0 >>>>>>>>>> 0 lrwxrwxrwx 1 root root 33 Feb 17 17:26 pruss-core0 -> >>>>>>>>>> /sys/class/remoteproc/remoteproc1 >>>>>>>>>> 0 lrwxrwxrwx 1 root root 33 Feb 17 17:26 pruss-core1 -> >>>>>>>>>> /sys/class/remoteproc/remoteproc2 >>>>>>>>>> >>>>>>>>>> If you are missing pruss-core0 and pruss-core1 you could try >>>>>>>>>> adding the links by hand and see what happens. >>>>>>>>>> >>>>>>>>>> *cd /dev/remoteproc* >>>>>>>>>> >>>>>>>>>> *sudo ln -s /sys/class/remoteproc/remoteproc1 pruss-core0* >>>>>>>>>> *sudo ln -s /sys/class/remoteproc/remoteproc2 pruss-core1* >>>>>>>>>> On Wednesday, February 17, 2021 at 3:56:21 PM UTC-5 >>>>>>>>>> wal...@edenconceptsllc.com wrote: >>>>>>>>>> >>>>>>>>>>> I'll get this one onto an SD card and give it a try. If I can >>>>>>>>>>> just get this configured I think I can make quick work of this >>>>>>>>>>> problem! >>>>>>>>>>> >>>>>>>>>>> On Wednesday, February 17, 2021 at 3:47:04 PM UTC-5 Mark A. >>>>>>>>>>> Yoder wrote: >>>>>>>>>>> >>>>>>>>>>>> Good point, it should work.... I'm running a newer test >>>>>>>>>>>> image[1], but I took my Beagle home so I can't do a quick check on >>>>>>>>>>>> it until >>>>>>>>>>>> later. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> --Mark >>>>>>>>>>>> [1] >>>>>>>>>>>> https://rcn-ee.com/rootfs/bb.org/testing/2021-02-15/buster-iot/bone-debian-10.8-iot-armhf-2021-02-15-4gb.img.xz >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Wednesday, February 17, 2021 at 2:46:35 PM UTC-5 >>>>>>>>>>>> wal...@edenconceptsllc.com wrote: >>>>>>>>>>>> >>>>>>>>>>>>> I asked because the ones on the page @ the link are older than >>>>>>>>>>>>> the one I have installed. >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> On Wednesday, February 17, 2021 at 2:30:58 PM UTC-5 Mark A. >>>>>>>>>>>>> Yoder wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> On newer versions of the SD card image /var/lib/cloud9 is a >>>>>>>>>>>>>> git repo which you can do a git pull to update. Your version is >>>>>>>>>>>>>> too old. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Follow the instructions at: >>>>>>>>>>>>>> https://markayoder.github.io/PRUCookbook/02start/start.html#_installing_the_latest_os_on_your_bone >>>>>>>>>>>>>> >>>>>>>>>>>>>> to download and install an updated version of the SD card >>>>>>>>>>>>>> image. >>>>>>>>>>>>>> >>>>>>>>>>>>>> --Mark >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Wednesday, February 17, 2021 at 2:25:40 PM UTC-5 >>>>>>>>>>>>>> wal...@edenconceptsllc.com wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Mark, >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> git pull on /var/lib/cloud9 fails with 'fatal: Not a git >>>>>>>>>>>>>>> repository (or any of the parent directories): .git >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> I'm such a neophyte on git. What do I need to do? >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> And, what do you mean by updating to a new version of the SD >>>>>>>>>>>>>>> card? The OS is booting from the SD card and the version.sh >>>>>>>>>>>>>>> information >>>>>>>>>>>>>>> posted earlier is based on that. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Wednesday, February 17, 2021 at 2:02:55 PM UTC-5 Mark A. >>>>>>>>>>>>>>> Yoder wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> I suggest updating to a new version of the SD card. It >>>>>>>>>>>>>>>> looks like the PRUs are getting started at boot time, but the >>>>>>>>>>>>>>>> path isn't >>>>>>>>>>>>>>>> setup right. I think we setup some links so the path* >>>>>>>>>>>>>>>> /dev/remoteproc/pruss-core0/state >>>>>>>>>>>>>>>> *points to the right place. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> You could also try: >>>>>>>>>>>>>>>> *cd */var/lib/cloud9 >>>>>>>>>>>>>>>> *git* pull >>>>>>>>>>>>>>>> to update cloud9 folders. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> --Mark >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Wednesday, February 17, 2021 at 1:53:35 PM UTC-5 >>>>>>>>>>>>>>>> wal...@edenconceptsllc.com wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Mark, >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I got the latest PRUCookbook downloaded and when trying to >>>>>>>>>>>>>>>>> make the hello.pru0.c program in 1.6, I got this error. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> *debian@beaglebone:/var/lib/cloud9/PRUCookbook/docs/02start/code$ >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> make TARGET=hello.pru0* >>>>>>>>>>>>>>>>> */var/lib/cloud9/common/Makefile:29: >>>>>>>>>>>>>>>>> MODEL=TI_AM335x_BeagleBone_Black,TARGET=hello.pru0* >>>>>>>>>>>>>>>>> *- Stopping PRU 0* >>>>>>>>>>>>>>>>> */bin/sh: 1: cannot create >>>>>>>>>>>>>>>>> /dev/remoteproc/pruss-core0/state: Directory nonexistent* >>>>>>>>>>>>>>>>> *Cannot stop 0* >>>>>>>>>>>>>>>>> *CC hello.pru0.c* >>>>>>>>>>>>>>>>> *"/var/lib/cloud9/common/prugpio.h", line 53: warning >>>>>>>>>>>>>>>>> #1181-D: #warning directive: "Found am335x"* >>>>>>>>>>>>>>>>> *LD /tmp/cloud9-examples/hello.pru0.o* >>>>>>>>>>>>>>>>> *- copying firmware file >>>>>>>>>>>>>>>>> /tmp/cloud9-examples/hello.pru0.out to >>>>>>>>>>>>>>>>> /lib/firmware/am335x-pru0-fw* >>>>>>>>>>>>>>>>> *cp: cannot create regular file >>>>>>>>>>>>>>>>> '/lib/firmware/am335x-pru0-fw': Permission denied* >>>>>>>>>>>>>>>>> */var/lib/cloud9/common/Makefile:180: recipe for target >>>>>>>>>>>>>>>>> 'install' failed* >>>>>>>>>>>>>>>>> *make: *** [install] Error 1* >>>>>>>>>>>>>>>>> *rm /tmp/cloud9-examples/hello.pru0.o* >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Initially, I did not have a folder called >>>>>>>>>>>>>>>>> /var/lib/cloud9/common. To remedy this I copied the contents >>>>>>>>>>>>>>>>> of >>>>>>>>>>>>>>>>> /var/lib/cloud9/PRUCookbook/docs/common to >>>>>>>>>>>>>>>>> /var/lib/cloud9/common. Maybe >>>>>>>>>>>>>>>>> this created a problem?Nevertheless, I found some other >>>>>>>>>>>>>>>>> discussions that >>>>>>>>>>>>>>>>> suggested updating the scripts and kernels from >>>>>>>>>>>>>>>>> beagleboard.org/upgrade which I did. I am now running... >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Linux beaglebone 4.14.108-ti-r137 #1stretch SMP PREEMPT >>>>>>>>>>>>>>>>> Tue Aug 25 01:48:39 UTC 2020 armv7l GNU/Linux >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> And the output of version.sh is >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> *debian@beaglebone:/$ sudo opt/scripts/tools/version.sh* >>>>>>>>>>>>>>>>> *[sudo] password for debian:* >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> *git:/opt/scripts/:[e4e4854ef8ff9ada5c85553376043ee7679167ca]* >>>>>>>>>>>>>>>>> *eeprom:[A335BNLT00C04417BBBK1847]* >>>>>>>>>>>>>>>>> *model:[TI_AM335x_BeagleBone_Black]* >>>>>>>>>>>>>>>>> *dogtag:[BeagleBoard.org Debian Image 2018-10-07]* >>>>>>>>>>>>>>>>> *bootloader:[microSD-(push-button)]:[/dev/mmcblk0]:[U-Boot >>>>>>>>>>>>>>>>> SPL 2018.09-00002-g0b54a51eee (Sep 10 2018 - 19:41:39 >>>>>>>>>>>>>>>>> -0500)]:[location: dd >>>>>>>>>>>>>>>>> MBR]* >>>>>>>>>>>>>>>>> *bootloader:[microSD-(push-button)]:[/dev/mmcblk0]:[U-Boot >>>>>>>>>>>>>>>>> 2018.09-00002-g0b54a51eee]:[location: dd MBR]* >>>>>>>>>>>>>>>>> *bootloader:[eMMC-(default)]:[/dev/mmcblk1]:[U-Boot SPL >>>>>>>>>>>>>>>>> 2018.03-00002-gac9cce7c6a (Apr 05 2018 - 13:07:46 >>>>>>>>>>>>>>>>> -0500)]:[location: dd >>>>>>>>>>>>>>>>> MBR]* >>>>>>>>>>>>>>>>> *bootloader:[eMMC-(default)]:[/dev/mmcblk1]:[U-Boot >>>>>>>>>>>>>>>>> 2018.03-00002-gac9cce7c6a]:[location: dd MBR]* >>>>>>>>>>>>>>>>> *UBOOT: Booted >>>>>>>>>>>>>>>>> Device-Tree:[am335x-boneblack-uboot-univ.dts]* >>>>>>>>>>>>>>>>> *kernel:[4.14.108-ti-r137]* >>>>>>>>>>>>>>>>> *nodejs:[v6.14.4]* >>>>>>>>>>>>>>>>> */boot/uEnv.txt Settings:* >>>>>>>>>>>>>>>>> *uboot_overlay_options:[enable_uboot_overlays=1]* >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> *uboot_overlay_options:[uboot_overlay_addr0=/lib/firmware/BB-W1-P9.12-00A0.dtbo]* >>>>>>>>>>>>>>>>> *uboot_overlay_options:[disable_uboot_overlay_video=1]* >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> *uboot_overlay_options:[uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-14-TI-00A0.dtbo]* >>>>>>>>>>>>>>>>> *uboot_overlay_options:[enable_uboot_cape_universal=1]* >>>>>>>>>>>>>>>>> *pkg check: to individually upgrade run: [sudo apt install >>>>>>>>>>>>>>>>> --only-upgrade <pkg>]* >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> *pkg:[bb-cape-overlays]:[4.4.20180928.0-0rcnee0~stretch+20180928]* >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> *pkg:[bb-customizations]:[1.20180815-0rcnee0~stretch+20180815]* >>>>>>>>>>>>>>>>> *WARNING:pkg:[bb-usb-gadgets]:[NOT_INSTALLED]* >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> *pkg:[bb-wl18xx-firmware]:[1.20180517-0rcnee0~stretch+20180517]* >>>>>>>>>>>>>>>>> *pkg:[kmod]:[23-2rcnee1~stretch+20171005]* >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> *pkg:[librobotcontrol]:[1.0.3-git20181005.0-0rcnee0~stretch+20181005]* >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> *pkg:[firmware-ti-connectivity]:[20170823-1rcnee1~stretch+20180328]* >>>>>>>>>>>>>>>>> *groups:[debian : debian adm kmem dialout cdrom floppy >>>>>>>>>>>>>>>>> audio dip video plugdev users systemd-journal i2c bluetooth >>>>>>>>>>>>>>>>> netdev >>>>>>>>>>>>>>>>> cloud9ide gpio pwm eqep admin spi tisdk weston-launch >>>>>>>>>>>>>>>>> xenomai]* >>>>>>>>>>>>>>>>> *cmdline:[console=ttyO0,115200n8 >>>>>>>>>>>>>>>>> bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mmcblk0p1 ro >>>>>>>>>>>>>>>>> rootfstype=ext4 >>>>>>>>>>>>>>>>> rootwait coherent_pool=1M net.ifnames=0 quiet]* >>>>>>>>>>>>>>>>> *dmesg | grep remote* >>>>>>>>>>>>>>>>> *[ 1.147260] remoteproc remoteproc0: wkup_m3 is >>>>>>>>>>>>>>>>> available* >>>>>>>>>>>>>>>>> *[ 1.231303] remoteproc remoteproc0: powering up >>>>>>>>>>>>>>>>> wkup_m3* >>>>>>>>>>>>>>>>> *[ 1.231426] remoteproc remoteproc0: Booting fw image >>>>>>>>>>>>>>>>> am335x-pm-firmware.elf, size 217168* >>>>>>>>>>>>>>>>> *[ 1.233981] remoteproc remoteproc0: remote processor >>>>>>>>>>>>>>>>> wkup_m3 is now up* >>>>>>>>>>>>>>>>> *[ 108.634522] remoteproc remoteproc1: 4a334000.pru is >>>>>>>>>>>>>>>>> available* >>>>>>>>>>>>>>>>> *[ 108.656634] remoteproc remoteproc2: 4a338000.pru is >>>>>>>>>>>>>>>>> available* >>>>>>>>>>>>>>>>> *dmesg | grep pru* >>>>>>>>>>>>>>>>> *[ 108.019424] pruss 4a300000.pruss: creating PRU cores >>>>>>>>>>>>>>>>> and other child platform devices* >>>>>>>>>>>>>>>>> *[ 108.634522] remoteproc remoteproc1: 4a334000.pru is >>>>>>>>>>>>>>>>> available* >>>>>>>>>>>>>>>>> *[ 108.634642] pru-rproc 4a334000.pru: PRU rproc node >>>>>>>>>>>>>>>>> /ocp/pruss_soc_bus@4a326004/pruss@0/pru@34000 probed >>>>>>>>>>>>>>>>> successfully* >>>>>>>>>>>>>>>>> *[ 108.656634] remoteproc remoteproc2: 4a338000.pru is >>>>>>>>>>>>>>>>> available* >>>>>>>>>>>>>>>>> *[ 108.656808] pru-rproc 4a338000.pru: PRU rproc node >>>>>>>>>>>>>>>>> /ocp/pruss_soc_bus@4a326004/pruss@0/pru@38000 probed >>>>>>>>>>>>>>>>> successfully* >>>>>>>>>>>>>>>>> *dmesg | grep pinctrl-single* >>>>>>>>>>>>>>>>> *[ 0.783913] pinctrl-single 44e10800.pinmux: 142 pins >>>>>>>>>>>>>>>>> at pa f9e10800 size 568* >>>>>>>>>>>>>>>>> *dmesg | grep gpio-of-helper* >>>>>>>>>>>>>>>>> *[ 0.796624] gpio-of-helper ocp:cape-universal: ready* >>>>>>>>>>>>>>>>> *lsusb* >>>>>>>>>>>>>>>>> *Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 >>>>>>>>>>>>>>>>> root hub* >>>>>>>>>>>>>>>>> *END* >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Any ideas? >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On Wednesday, February 17, 2021 at 10:10:53 AM UTC-5 Mark >>>>>>>>>>>>>>>>> A. Yoder wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> The PRUs can give you 10's of ns timing, which is more >>>>>>>>>>>>>>>>>> than good enough for milliseconds, but might be over kill. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> I'd think using C on the ARM processor should be fast >>>>>>>>>>>>>>>>>> enough. I'd use gpiod[1]. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> If you really want the ns timing of the PRUs, check out >>>>>>>>>>>>>>>>>> the PRU Cookbook[2] >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> --Mark >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> [1] https://github.com/starnight/libgpiod-example >>>>>>>>>>>>>>>>>> [2] https://github.com/MarkAYoder/PRUCookbook >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On Tuesday, February 16, 2021 at 10:51:11 AM UTC-5 >>>>>>>>>>>>>>>>>> pierric...@gadz.org wrote: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Depending on how precise you need to be, I would go for >>>>>>>>>>>>>>>>>>> the PRU-ICSS. They can control the GPIOs pretty easily. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Le mardi 16 février 2021 à 10:03:47 UTC-5, >>>>>>>>>>>>>>>>>>> wal...@edenconceptsllc.com a écrit : >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> I have a BBB Wireless running Linux beaglebone >>>>>>>>>>>>>>>>>>>> 4.14.108-ti-r106 #1 SMP PREEMPT Fri May 24 22:12:34 UTC >>>>>>>>>>>>>>>>>>>> 2019 armv7l >>>>>>>>>>>>>>>>>>>> GNU/Linux >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> I am writing in C. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> I turn a valve on and then need to read some sensors >>>>>>>>>>>>>>>>>>>> for N milliseconds and then turn the valve off. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> What's the best way to read milliseconds on the BBBw? >>>>>>>>>>>>>>>>>>>> I don't have a RTC on this particular unit but could add >>>>>>>>>>>>>>>>>>>> one using I2C. I >>>>>>>>>>>>>>>>>>>> have an Adafruit 4282 with a DS3231 RTC on it on another >>>>>>>>>>>>>>>>>>>> BBBw that I could >>>>>>>>>>>>>>>>>>>> use temporarily to prove it works. What other options are >>>>>>>>>>>>>>>>>>>> available? >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/fa2e2379-4f96-494f-9225-b488acad16c3n%40googlegroups.com.