**** BEGIN LOGGING AT Fri Oct 28 02:59:56 2022 Oct 28 11:45:21 Yawning in the morning w/ the ServoCape at the helm! Oct 28 11:48:47 The only issue at hand is this idea. I cannot make lists in python3 to handle the movement of two, separate servos at the same time. Oct 28 11:49:42 So, when I make a function on the BBB for the ServoCape, my function passes but my source in another file that calls the function and class gets error prone. Oct 28 11:49:54 ... Oct 28 11:50:43 Would making lists in the file that gets called be useful or would I use need to make lists in the source that is used to handle the servos from the PCA9685 on the ServoCape? Oct 28 12:34:44 "the same time" same clock time. don't you need parallel process ? Oct 28 12:35:48 afk Oct 28 12:47:03 Hello Oct 28 12:47:40 zmatt I think now works, I replaced ttys0 in more files with ttys1 and used those mask commands Oct 28 12:57:36 lucascastro: no Oct 28 12:57:38 set_: ?? Oct 28 12:57:57 @zmatt: Do not worry. I am out classed! Oct 28 12:58:17 I need to get ready to get the ole truck worked on! BBL! Oct 28 13:02:26 I guess if it's going to send data to two gpio output, 'to two output' and expect the same time operation, isn't it required parallel process? Oct 28 13:02:54 now I will just write a python script trying to connect to uart0 and see if anything is arriving Oct 28 13:04:40 lucascastro: no? this isn't about gpio anyway, but using parallel threads/processes would just degrade performance and make it harder to get any useful timing relationship Oct 28 13:05:38 (since "parallel" threads/processes just execute in a sequential time-sliced manner anyway) Oct 28 13:05:52 so required some mirror circuit. Oct 28 13:06:03 ???? Oct 28 13:08:54 I can't see how it can get same time operation without some external circuit arrangement at all, so it can duplicate the signal. Oct 28 13:09:01 I got wrong. Oct 28 13:10:11 I guessed he was trying same move to two motors at same time... mirrored movement. Oct 28 13:10:12 the subject was controlling multiple servo outputs on the servocape, this reallly doesn't any sort of high-precision timing (nor will you get any anyway since the servocape uses an i2c pwm controller) Oct 28 13:10:36 sending commands for both outputs back-to-back is plenty tight enough Oct 28 14:47:58 Hello, a bit of clarification could be helpful regarding DWT the watchdog timer Oct 28 14:48:48 Do we know if that's tied to a crystal clock or RC ? Oct 28 14:49:34 I'd like to check its accuracy compared with system clock (for example the usleep() or sleep_for() function calls). Oct 28 14:50:18 I understand the WDT clock comes from 32 kHz, will be a RC or XTAL. Oct 28 14:51:15 And system timers I understand they come from system interrupt, i'm not sure wether this is the same clock source or not and deviations they can have between them. Oct 28 14:51:31 If someone has done a bit of work already with the watchdog, thanks. Oct 28 15:15:52 jfsimon1981: essentially all clocks on the system derive from the 24 MHz oscillator Oct 28 15:16:13 except the rtc clock Oct 28 15:16:23 really, are you sure also watchdog clock for this ? Oct 28 15:16:32 ok. Oct 28 15:18:43 the watchdog timer can either be clocked by an internal RC osc or by a 32 kHz clock that derives from the 24 MHz osc ... but the internal RC osc is known to be so incredibly inaccurate that it's essentially useless Oct 28 15:19:25 like the internal RC osc is specified as "16 kHz - 60 kHz" Oct 28 15:21:05 That's what i was a bit worry about Oct 28 15:21:29 but that's why linux just doesn't use the internal RC osc for anything Oct 28 15:21:42 i intended to have about 50% separation margin for safely, i know some capacitors can get ver ver different values with extreme temperature. Oct 28 15:21:49 Ok that's better then Oct 28 15:22:32 if your main osc dies there's really nothing much you can do anyway Oct 28 15:22:36 Ye sthat sounds very reasonable Oct 28 15:23:05 For sure i much prefer it on the 24MHz than have to get good margins for RC Oct 28 15:24:14 All right thank you i'll keep the soft tight then Oct 28 15:25:22 note that instead of using the watchdog directly, you can also let systemd keep the watchdog alive and use per-service watchdogs provided by systemd to kill and restart services if they hang Oct 28 15:25:43 but whether or not that's preferred is up to you Oct 28 15:26:41 yes i remind, though i have a specific set of parameters here to enable and disable or change timout per customer parameter (which can be updated at runtime). Oct 28 15:28:03 Essentially, there are situations where the soft will hang off on purpose (ie external device becomes unreachable for too long). In that case I let the customer have flexibility to get automatic reboots every wdt period or none. Oct 28 15:28:11 oh and it looks like I lied: linux does use the RC osc for one thing, namely as debounce clock for the gpio0 controller, which makes sense since that clock should be available even when the main osc is powered off in deepsleep (since gpio0 is a wakeup source for deepsleep) and the rtc osc is optional hence can't be relied on Oct 28 15:28:15 I don't know in advance how they will set it up. Oct 28 15:28:36 yep Oct 28 15:28:59 and a debounce clock doesn't have to be very precise anyway Oct 28 15:29:15 that one is not significant for accuracy, i think it's a few ms debounce typically Oct 28 15:29:20 like 5ms Oct 28 15:29:35 Where do you find those infos ? Oct 28 15:29:38 honestly I'm not even sure how you'd enable debounce for specific gpios Oct 28 15:29:45 /sys/kernel/debug/clk/clk_summary Oct 28 15:29:55 I was reading the 5k pages manual but that all depends on the system configuration. Oct 28 15:30:01 Ok right Oct 28 15:30:22 that shows your currently configured clock tree Oct 28 15:30:30 i'll have a look Oct 28 15:30:31 clk_rc32k_ck is the RC osc Oct 28 15:30:43 ok thx Oct 28 15:31:05 sys_clkin_ck is the 24 MHz main osc Oct 28 15:32:10 ok Oct 28 15:37:27 very useful Oct 28 15:37:43 jfsimon1981: also, I made a tiny utility that's quite handy to find things in files that are organized into a tree based on indent: https://pastebin.com/GwXvzHex ... save as /usr/local/bin/indentgrep and make it executable, and then you can do this: https://pastebin.com/raw/rgXBF1z9 Oct 28 15:38:01 Hi zmatt Oct 28 15:38:06 thank you for the help Oct 28 15:38:15 jfsimon1981: it shows lines that match the pattern given *and* their parents (based on indent) Oct 28 15:38:44 ok Oct 28 15:39:02 uart0_person: you're welcome! Oct 28 15:39:10 glad to hear you got it working Oct 28 15:39:25 it seems working, it booted after I changed in the other files Oct 28 15:39:36 now just need to see if there is anything arriving in uart0 Oct 28 15:40:08 I am going to write a little python script to see if there is arriving, but is there a command line I can enter in the terminal to see this? Oct 28 15:40:41 not really, using the python3 repl to test this interactively would be the easier way Oct 28 15:40:49 ok thanks Oct 28 17:08:43 Whelp...I made it back, got ripped off, and now. Well. I am broke and w/ my BBB! Oct 28 17:09:27 @zmatt: I think what I need is a list in a dictionary not just some random barf of lists I hand sculpt. Oct 28 17:09:46 So, this nice fellow online told me so. I am going to try it! Oct 28 17:10:15 I was using assignment operators instead of : operations in a list for dictionaries. Oct 28 17:15:56 set_: I see you typing words, I have no idea what they mean Oct 28 17:16:07 All I know so far... 1. The ServoCape is awesome. 2. It works well w/ the BBB. Oct 28 17:16:36 I am learning about dictionaries now w/ source that I call from another file. Oct 28 17:17:16 So, I have file_A and my source, file_B, uses the dictionary from a function from file_A. Oct 28 17:17:27 I know. Oct 28 17:17:38 It is not rocket science but still, I am learning more! Oct 28 17:18:13 Finally, a way I can use dict objects in a function to handle movement of motors. Oct 28 17:19:04 @zmatt: Once I get the source ready, I will share it. Oct 28 17:19:38 This way, you can tell others about the ServoCape when they come in and wander in w/ ideas about the PCA9685! Oct 28 17:32:22 coding is really a complicated science... Oct 28 17:33:05 It is like rules and regulations dictate what is collective until a change is made upstream or accepted for the "betterment" of the language. Oct 28 17:34:39 For instance, Python3... I always thought it was an easy to learn language. It is not so easy. They have many libs. and built-ins that are very useful but I have no clue, as @zmatt will say, when or why to use the built-ins. Oct 28 17:34:40 ... Oct 28 17:34:56 For instance. os, glob, and etc. Oct 28 17:36:38 It seems someone would have put together a sheet of python3 somewhere that teaches system calls and the difference of userspace and system calls. Oct 28 17:38:20 Are system calls python3-cython or are...never mind me. Oct 28 18:43:31 Okay! I just figured it out. Nothing I do works b/c of other people. Aw! Oct 28 18:43:50 I repeat. Aw! Oct 28 20:54:30 set_ do you code in Python ? Oct 28 22:34:56 I try. Oct 28 22:54:33 So, yes and no. I would say I try to code in Python more than wanting to mow grass but I am far from a professional. Oct 28 23:09:42 jfsimon1981: I have not sat down to completely understand each, separate mechanism in the python3 langauge set. So, I do not have a firm grasp on anything! Ever. But...I am going to make it to vectors and arrays one day. Bet on it! Oct 28 23:17:53 https://pastebin.com/aJqsKARE Oct 28 23:18:16 That is the python3 error I am coming across. Has anyone seen such a thing? Oct 28 23:18:29 "unhashable" ? Oct 28 23:18:31 What? Oct 28 23:20:50 It is like I am lost in Egypt on a whim for traveling to England. Oct 28 23:20:52 Aw. Oct 28 23:21:04 brb Oct 28 23:25:59 senses are back. Phew. Oct 28 23:32:44 It tells me in output, 'function' object has no attribute 'name', and then I can make an addition to the function for name. It still says, 'function' object has no attribute 'name'. Oct 28 23:33:11 I think this loop has me goofed-umed. Oct 29 00:07:43 set_ it's just containers i believe Oct 29 00:07:53 I have some files to share. Oct 29 00:07:54 (vector and array) Oct 29 00:07:59 Please bear w/ me. Oct 29 00:08:05 i'm leaving Oct 29 00:08:09 Yay! Oct 29 00:08:27 I will catch up w/ you later, i.e. if possible. Oct 29 00:10:34 yes Oct 29 00:10:40 but checkout python irc Oct 29 00:10:48 Oh. Okay. Oct 29 00:10:51 Thank you. Oct 29 00:10:53 this is almost certain you'll find at least one Oct 29 00:10:59 Okay. Oct 29 00:11:09 just reading in there can already get you up to speed in that Oct 29 00:11:20 see you later Oct 29 00:11:24 I am going elsewhere w/ my issues/errors. Python here I come! Oct 29 00:11:33 Later for now! Oct 29 00:23:11 anyway, here is one function in case anyone wants to participate: https://pastebin.com/krdkBe4a and this is in the change drawer now! Oct 29 02:36:53 Man, after knowing things, this is sort of fun! **** ENDING LOGGING AT Sat Oct 29 02:59:57 2022