**** BEGIN LOGGING AT Mon Oct 05 02:59:57 2020 Oct 05 03:19:08 Anyway, I will accept I know less of python2.7 in the /var/lib/cloud9/ dir. and move on. Sorry to waste time. Oct 05 14:33:58 I'm trying to go from stretch to buster and it says deb.nodesource.com/node_0.12 buster Release doesn't have a release file. I'm thinking the URL has changed but so far I can't find the new one. Oct 05 14:34:21 node 0.12 ?! Oct 05 14:34:55 Ah. Sounds like I fat-fingered the sources.list edit then Oct 05 14:35:33 Dunno how 'cause I used search/replace, but whatever. What should it be, by chance? Oct 05 14:36:58 node 0.12 was released 2015-02-06 and received its last maintenance update 2017-02-22 Oct 05 14:37:23 no, you probably didn't mess anything up, I'm sure your ancient system used an ancient node.js Oct 05 14:37:25 I can't find that anywhere, prolly simple ignorance. Oct 05 14:37:42 but node 0.12 has been obsolete for years and hence is not available for buster Oct 05 14:37:51 I'm not using node on purpose. May I simply remove it? Oct 05 14:38:21 if you're not using the web stuff on the default image (bonescript, cloud9) then sure Oct 05 14:38:32 I'm not. Thanks! Oct 05 15:50:21 zmatt: what does it mean if your show-pins utility returns "Died at /usr/local/sbin/show-pins line 77, <> line 244. Oct 05 15:50:21 pin 241 (PIN241): cape_pins (GPIO UNCLAIMED)" Oct 05 15:50:48 I'm sure it is a problem with my device-tree on the BeagleBone AI, but I'm trying to figure out what exactly. Oct 05 15:51:20 strech -> buster always hoses a number of services, including journald. Oct 05 15:51:55 hunter2018[m]: that's just a bug in show-pins Oct 05 15:52:07 Ragnorok: never had any problem with that upgrade Oct 05 15:52:24 I hear ya. I've have it fail the same way twice in a row. Oct 05 15:53:01 hunter2018[m]: lemme see if I can quickly identify it Oct 05 15:58:39 hunter2018[m]: can you check if this patch fixes the problem? https://pastebin.com/9wPJ5nta Oct 05 16:03:00 Ragnorok: what exactly are you observing? Oct 05 16:04:49 Services that rely on journald.socket say invalid arguement. Attempting to start systemd-journald.socket says the same error, for systemd-journald.service. Oct 05 16:04:58 wtf Oct 05 16:05:09 what the bleep did you do to your system, and how Oct 05 16:05:22 I've never seen anything like that Oct 05 16:06:27 I followed your instructions to go from jessie to stretch, which appears to work fine, then again from stretch to buster, which hoses it. I haven't rebooted and I see the journal (which is still running for some reason) shows piles and piles of errors I'm only just looking at. Oct 05 16:07:02 you didn't reboot between those two upgrades? that sounds like a bad idea Oct 05 16:07:09 but I've never tried jessie -> stretch -> buster Oct 05 16:07:12 I thougth I did. Oct 05 16:07:41 I made a flash after stretch went in. I'll go back and start that part over. Oct 05 16:17:49 Thanks! It seems like that fixed it. Oct 05 16:43:56 Great. Another flahser failure. That wipes out my entire day. Oct 05 16:45:57 m Oct 05 18:25:46 I see a number of packages are kept back from jessie -> stretch. I've never explicitly told to do that. Why would have I have hundreds of packages held back? Oct 05 18:29:43 Dwas pre-dist-upgrade. Oct 05 18:30:14 D'oh. That was pre-dist-upgrade. Oct 05 18:36:59 I can't find a way to verify if a flasher SD was successfully created. I've had three now that failed and it would be nice to know that BEFORE it's the only version I have. Oct 05 18:49:14 hunter2018[m]: ok! committed and pushed Oct 05 18:50:40 Ragnorok: wait, you're testing your flasher on the same beaglebone that you used as master to create the flasher? why not test it on a random *other* beaglebone to avoid ruining your master? Oct 05 18:53:44 how will you ever test your backups if you don't take risks? Oct 05 19:29:17 If I had random other ones I would. And as it turns out, since asking, I've found a random other one I can use. Prolly should go on-site and get another just 'cause. The long and the short of it is flasher create is so reliable I expect it to work, and doing a verify -seemed- simple. Oct 05 19:31:05 how are you making a flasher? Oct 05 19:31:47 A BBB. Oct 05 19:31:57 ? Oct 05 19:32:26 I put an SD into a Black and run the script. Oct 05 19:32:31 which script? Oct 05 19:32:56 ah right, rcn has one buried in /opt Oct 05 19:33:28 Right. /opt/script/tools/eMMC/beagleblahblah Oct 05 19:35:07 I've never used it myself... though in general if you're creating a flasher from a running system, it's probably a good idea to first get the system in a state that's as idle as possible by stopping non-critical services Oct 05 19:35:19 and be sure to use a reliable sd card Oct 05 19:36:28 I generally do. I've done this hundreds of times in the last four years and it's failed three. It *could* be the SD cards; I'm not dinging the flasher process. Oct 05 19:37:28 it would be ideal if after rsyncing it unmounted the card, flushed the page cache, mounted it again, and used rsync to verify the card contents Oct 05 19:37:30 I simply don't generally have more than the unit I'm working directly to hand. Oct 05 19:37:58 that's not a good situation to be in when making and testing a flasher image Oct 05 19:38:51 There it is. Since we can't verfiy I guess I'll have figure out how to have two available at all times. Oct 05 19:39:27 you could also rsync the running system to fresh disk image on a local pc and perform the steps needed to turn that into a flasher Oct 05 19:40:24 or just use rsync to make a backup Oct 05 19:40:28 Once I set all that up, sure. There's lots I could do. I could netboot and dev off the unit entirely if I set that up. Oct 05 19:40:45 so you can restore it with rsync if reflashing fails Oct 05 19:42:15 No matter. The path of least resistance is have two units at all times. I'm significantly more interested in figuring out why these upgrades keep failing than "fix" this better. Thanks! Oct 05 19:44:34 (tip on using rsync for backup/restore: ensure system is as idle as possible (no unnecessary software running), use "rsync -aHAX --one-file-system --numeric-ids --delete $target:/ backup-dir/" for backup and swap last two args for restore, after restore make sure writes are synced (sync; sync; sleep 3;) and then press the reset button, do not attempt a clean reboot) Oct 05 19:44:55 fair Oct 05 19:45:27 (and if you want to see rsync progress use --itemize-changes ) Oct 05 21:13:51 is the new lts kernel ready/stable Oct 05 21:20:41 5.4 that is Oct 05 21:25:26 no idea, probably not? looks like a bunch of drivers are missing at the very least (e.g. uio-pruss) Oct 05 21:27:38 generally speaking, if you want a stable system with everything working it's probably a good idea to not use a newer kernel series than e.g. used in the latest testing images: https://elinux.org/Beagleboard:Latest-images-testing Oct 05 21:29:09 I wonder if there's a reason why uio-pruss hasn't been forward-ported yet... it's a pretty trivial driver Oct 05 21:30:26 (or, well, the uio-pruss driver fixes for am335x... the driver itself is in mainline) Oct 05 21:33:13 zmatt: do you think it's a good idea to use an optocoupler between the beaglebone IO pins and something else? I thought about that for my electronics project to reduce chances I'm going to fry the board :-D Oct 05 21:40:43 if you have a particular need for common-mode level shifting with high-voltage isolation, you make sure not to draw too much current from the gpio driving the opto-coupler, and any other constraints imposed by the optocoupler (including cost) are not a problem for whatever you're using them Oct 05 21:42:55 true Oct 05 21:43:08 for most applications a normal buffer / level-shifter probably makes more sense Oct 05 21:43:53 and/or just paying attention to what you're doing ;-) Oct 05 21:44:53 or have it drive a transistor Oct 05 21:45:17 my idea is to drive a high power mosfets 12V using the IO (output pin) and a driver circuit and then use the analog input to measure the current too Oct 05 21:45:18 sure, it all depends on the actual purpose Oct 05 21:45:41 what's high power? Oct 05 21:45:48 12V @ 10000000A? Oct 05 21:46:01 maybe 15A Oct 05 21:46:26 to make a decent bench power supply Oct 05 21:46:33 if you can get a MOSFET with a suitable Vgs... Oct 05 21:46:45 Vthresh I mean Oct 05 21:46:48 blah can't type Oct 05 21:47:06 yes, the problem is this kind of circuits are tricky (specially for a newbie like me :-D Oct 05 21:47:44 do keep low-voltage lines away from lines that carry switched high current :P Oct 05 21:47:52 Circuit is easy... the hard part is picking the part :D Oct 05 21:48:29 and avoiding short circuits :-p Oct 05 21:49:21 as for measurement.. I think there are i2c devices specifically for current measurement, which also integrate the amplifier needed to measure the voltage drop across a tiny current measurement resistor Oct 05 21:49:35 btw just out of curiosity, is it possible to buy a PRU separately without all the beaglebone? Oct 05 21:49:56 PRU is not a processor, it's just a core Oct 05 21:50:01 like a Cortex-A8 Oct 05 21:50:18 I am sure it is if you get sufficient volume Oct 05 21:50:23 you need something around it Oct 05 21:50:26 zmatt ha, I thought about using the analog inputs, and using an op amp to give the input voltage Oct 05 21:50:31 guessing it'll be an encrypted deliverable Oct 05 21:50:37 lol Oct 05 21:51:20 I thought there was a chip with the PRU or maybe both PRUs inside Oct 05 21:51:44 TI does have other SoCs with PRU cores, including smaller (perhaps cheaper? haven't checked) than the AM335x, such as the OMAP-L1xx series Oct 05 21:52:14 the AM335x is a chip with a couple of PRUs inside Oct 05 21:52:20 :D Oct 05 21:52:38 the PRU subsystem (containing two PRU cores + local ram + local peripherals on a local interconnect) is part of the AM335x SoC Oct 05 21:52:44 oh wow, I didn't realise it's all part of the same chip :-) Oct 05 21:52:47 and various other TI SoCs Oct 05 21:53:04 yes, that's why PRU has access to everything and you can map PRU memory directly into linux userspace Oct 05 21:53:06 you can think of the AM335x is a PRU chip with a helper processor to boot it Oct 05 21:53:13 hehe Oct 05 21:53:24 sort of like those BCM stuff Oct 05 21:54:14 I believe you, but after this revelation I'm going to take a closer look at the board with a torch Oct 05 21:54:20 no, the BCMs are VideoCore processors, some of which happen to have some auxiliary ARM core(s) stuck onto them :P Oct 05 21:55:01 what do you intend to look for? it's probably easier to find the answers to your questions by looking at the schematic ;) Oct 05 21:55:21 the bodge wires of course Oct 05 21:56:14 I see 2 kingstone chips Oct 05 21:57:41 your board uses kingstone chips? Oct 05 21:58:23 renrelkha: You were right about the edge. I must have been reading other things and going to Mission Planner to provide it w/ the wrong movements. Oct 05 21:59:25 mm302: INA231 is example of an i2c voltage/current/power monitor... add a current measurement resistor (on high side or low side of load), connect to BBB i2c with pull-ups on the bus and you've got your current measurement (hardware-wise) Oct 05 21:59:28 the text on those chips is too small, I'm not going to try to mistype what's written there Oct 05 21:59:37 mm302: kingston. one is ddr3 ram, the other is eMMC Oct 05 22:00:18 emmc is near ethernet (probably labeled EMMC04G) Oct 05 22:00:21 thanks zmatt, you know everything Oct 05 22:00:23 ddr3 is near usb host port Oct 05 22:00:55 if you have kingstone chips, I'd return it to the seller Oct 05 22:00:59 :D Oct 05 22:01:01 I see, emmc=cheap SSD= root file system Oct 05 22:01:39 mm302: you have cheap eMMC and not-cheap eMMC, there isn't really a better storage option on the AM335x I think Oct 05 22:01:47 (kingston would be an example of cheap eMMC :D ) Oct 05 22:02:53 I didn't mean to complain, it's a very good little board Oct 05 22:03:50 I'm looking into INA231, do you think it's better than me using an op amp and reading the output as an analog input? Oct 05 22:06:15 that seems quite likely Oct 05 22:06:18 the problem with resistors is that they are static Oct 05 22:06:21 (and it's definitely way easier) Oct 05 22:06:40 how were you planning on measuring current if not using a resistor? Oct 05 22:07:46 a static shunt resistor, but then I also want a way of controlling the current Oct 05 22:08:11 mm302: is the INA231 I2C ? Oct 05 22:08:18 oh I thought you just needed monitoring Oct 05 22:08:25 yeah Oct 05 22:08:30 there are also variants with analog output Oct 05 22:09:00 what do you mean by "controlling the current" exactly? Oct 05 22:09:01 but actually it's interesting the chip you mentioned, I see it's possible to set a threshold and give alerts when current goes over Oct 05 22:10:51 that's a tricky one, the mimium is controlling max current, maybe with a pot or somehow in a digital way, then I'd like to also see/measure the current. I'd also like a way of protecting from short circuits like foldback protection Oct 05 22:10:57 sure, but do keep in mind that performing an adc measurement takes time Oct 05 22:11:44 that's true, also the ADC didn't seem super accurate in my test (only briefly looked at it really) Oct 05 22:12:13 it isn't, which is a reason I suggested an external component Oct 05 22:12:43 but if you want actual current-limiting then that changes things quite a bit obviously Oct 05 22:13:06 (especially if you want actual limiting and not merely shutoff) Oct 05 22:13:57 true, but I could also do with with the software if I can read the current Oct 05 22:14:19 and don't mind the hardware getting fried before you have time to react Oct 05 22:15:27 that's a good point, I'm not sure how long it takes for the hardware to fry, I was hoping 200ns or so would be fine Oct 05 22:17:36 that would require a 5 Msps ADC if we ignore the time it takes to get that data into PRU, make the decision to shut off, and actually do so Oct 05 22:18:23 in practice you can't ignore that and probably also don't want to make that decision based on 1 sample so you'd need a fair bit higher samplerate still Oct 05 22:18:44 or, more plausible, do it analog :P Oct 05 22:18:49 I can also have a separate opamp to trigger 0/1 alert when max current is reached and a separate thing to measure the current Oct 05 22:19:39 anyway, good luck with it :) Oct 05 22:20:15 thanks, that's why I was condidering optoisolators to avoid frying the beaglebone at least :-) Oct 05 22:21:03 not sure I see much use for one in this application... Oct 05 22:21:22 or any really Oct 05 22:21:48 like, if you were going to be switching 230V then yeah it makes sense Oct 05 22:21:49 btw is it hard to read from an i2c input (like current measurement) from the PRU Oct 05 22:22:25 maybe I can find an op amp that gives digital i2c values and read it form the pru Oct 05 22:22:38 you mean like the INA231 ? :P Oct 05 22:23:06 yes Oct 05 22:23:08 :-) Oct 05 22:24:07 the i2c controllers are... well I guess not *that* bad but they do have a bit of... personality Oct 05 22:25:25 ok, maybe I can just have an external ADC chip and connect 8 digital pins and read it from the PRU Oct 05 22:25:30 for connecting to pru I'd probably be inclined to look around to see if there's an equivalent with spi Oct 05 22:26:07 big design space, lots of possible solutions Oct 05 22:26:19 is spi good? Oct 05 22:27:03 I mean, it's neither good nor bad, it isn't really much of a protocol in the first place Oct 05 22:27:14 it's pretty much just "transfer some bits, serially" Oct 05 22:27:28 filling in the details is left as an exercise for the particular application of spi Oct 05 22:29:03 but the spi controller on the am335x is less obnoxious than the i2c one, spi is typically faster than i2c, and if need be you can also forego the spi controller and have a pru core bitbang it (which might also be possible with i2c but that would be more headache to implement) Oct 05 22:29:05 is it tricky to read it from the PRU though? Oct 05 22:29:30 ok interesting, thanks for the tip, I'll look into that Oct 05 22:31:11 spi is just something like: for each bit { update data-out; toggle clock-out; delay; sample data-in; toggle clock-out; } Oct 05 22:31:39 and toggle the chip select line at start and end of the complete transaction Oct 05 22:32:16 oh, I forgot another delay; at end of loop Oct 05 22:32:21 (inside the loop) Oct 05 22:32:52 thanks again zmatt! going to bed now, cheers Oct 05 22:45:40 I2C on the PRU requires added HW Oct 05 22:46:09 or use edio or general gpio Oct 05 23:34:59 set_: does it fly now? Oct 06 00:07:39 NO. Oct 06 00:08:02 Dang. My X8R receiver does not stay powered now. I will have to test the battery later. Oct 06 00:26:40 The MP source is telling to me update my ardupilot source. I refuse! Oct 06 00:29:23 branch -a shows 4.0. I am going to grab this one. Oct 06 01:02:58 It seems that I am having yet another batt. issue. Oct 06 01:03:38 I charged the LiPo in question. it stated on the charger once I took if off the BBBlue that it had "connection issues." Oct 06 01:03:45 I need to read about that now. Oct 06 01:55:12 Would a low-voltage LiPo harm the BBBlue if plugged in to the LiPo port? Oct 06 02:05:01 I have been reading about encode in UTF-8 and decoding in the same UTF-8 in Python3. Oct 06 02:05:32 It seems bytes and strings have been the issues on why Python3 left behind the str/byte methods. Oct 06 02:09:56 would I use UTF-8 encoding for NMEA sentences? Oct 06 02:11:53 So, in python3, one would have to encode a byte in UTF-8 to later decode it in a string? Oct 06 02:12:04 for 'r'? Oct 06 02:12:26 Sorry. I am just starting to catch on. Slow mo' here... Oct 06 02:25:24 got a vibration mount printed and assembled Oct 06 02:25:26 https://imgur.com/t4y7GGc.png Oct 06 02:26:07 a low battery in the blue the blue will just shut off Oct 06 02:26:29 if you are plugged in to the lipo port Oct 06 02:27:37 if you power the barrel jack with the battery there is no protection Oct 06 02:27:53 it will ded ur battery Oct 06 02:28:18 Okay. Oct 06 02:28:29 at no fault of the blue Oct 06 02:31:59 https://pastebin.com/wmt7wETm is my class for GPS that I got from toptechboy.com a long time ago. Now, I have changed it and I still need to change it. Oct 06 02:32:19 It seems a lot of work has been put into Python3 to change bytes to strings and back again. Oct 06 02:32:32 For many reasons, python2 works and python3 is giving errors. Oct 06 02:32:51 You made that? Oct 06 02:33:41 https://docs.python.org/3.0/library/2to3.html Oct 06 02:33:49 i printed it from thingiverse Oct 06 02:33:54 and bought the rubbers Oct 06 02:33:55 Nice. Oct 06 02:33:56 set_: why are you calling .encode() on BAUD_57600 ? that's incorrect, assuming ser is a serial port (I can't tell since weirdly it doesn't seem to be defined anywhere) Oct 06 02:33:57 and put it together Oct 06 02:33:58 Ni\ce. Oct 06 02:34:25 Oh. I read a medium doc. on encoding and decoding in UTF-8. Oct 06 02:34:33 for Python3. Oct 06 02:34:37 why are you doing all this stuff in the __init__ of a class? why do you even have a class if you make no use of the object? Oct 06 02:34:54 The rest of the source? Oct 06 02:35:03 set_: if you wanted a string in this context then you wouldn't have used b'' in the first place Oct 06 02:35:04 I can show it. DO you want to see everything? Oct 06 02:35:12 I know. Oct 06 02:35:21 also your code is full of syntax errors Oct 06 02:35:37 sleep(1) is my syntax error right now. Oct 06 02:35:46 no, the line before it Oct 06 02:36:09 your parentheses are a mess Oct 06 02:36:55 I changed it already to: ser.write(BAUD_57600.encode() Oct 06 02:37:04 Now, sleep(1) is the error. Oct 06 02:37:04 which is a syntax error *and* wrong Oct 06 02:37:08 Oh. Oct 06 02:37:11 no, the sleep(1) is fine Oct 06 02:37:19 Hmm. That is what i thought. Oct 06 02:37:23 also why are you using these low-level commands? use some existing GPS class Oct 06 02:37:30 preferably for gpsd Oct 06 02:37:52 The GPS classes, gpsd, in the pip3 installs still exist but are over five years old. Oct 06 02:37:58 They no longer work correctly. Oct 06 02:38:07 in what sense? Oct 06 02:38:16 for instance, pip3 install gps3 Oct 06 02:38:27 I tried it yesterday. Oct 06 02:38:37 Just for lat/long. Oct 06 02:39:05 ... okay? you haven't described any problem yet so far Oct 06 02:39:30 Okay. Please hold. I will show the entire script, I will run it in python3, and I will show you the error. Oct 06 02:40:22 also, instead of installing anything with pip3, why not apt-get install python3-gps Oct 06 02:40:35 which looks like it's the official python3 binding for gpsd Oct 06 02:40:48 and, being a debian package, almost certainly works Oct 06 02:44:02 https://pastebin.com/Nq1y9Jaq Oct 06 02:44:29 That is what I have so far in the way of Python3 and GPS on the BBGW w/ a v1.2 Grove_GPS. Oct 06 02:45:14 yeah, all this shows is that you don't know even the slightest bit of python, not even basic syntax Oct 06 02:45:17 but it's not what I asked Oct 06 02:45:27 well, I did, but Oct 06 02:45:30 Well? Oct 06 02:45:34 Ha. Oct 06 02:45:47 after that I asked why you're doing this in the first place :P Oct 06 02:45:51 instead of using a gps library Oct 06 02:45:57 such as the official gpsd python binding Oct 06 02:46:02 or any other Oct 06 02:46:26 this is clearly just random nonsense Oct 06 02:46:45 with bits copy-pasted from somewhere Oct 06 02:46:53 @zmatt: B/c! The gps.py file I use now in Python2 that I will put into Python3 is giving errors. I can save to .csv, .txt, and it works. Oct 06 02:46:57 NO bangs about it. Oct 06 02:47:29 and what does it look like? because if it worked then it clearly wasn't full of syntax errors and other complete nonsense Oct 06 02:47:41 (like your last paste is) Oct 06 02:47:58 Okay. I will go and try sudo apt install gps Oct 06 02:48:32 ... I asked what does your python2 script look like? Oct 06 02:49:06 Oh. Oct 06 02:49:18 Please hold. I will show you the script before I altered it. Oct 06 02:49:19 does this do anything NMEA1_array[1][-6:-4] (the -6:-4) Oct 06 02:49:26 Not yet. Oct 06 02:49:28 ive not seen that before Oct 06 02:49:38 renrelkha: it's a slice, with indexing from the end Oct 06 02:50:38 interesting..i have not tackled python yet Oct 06 02:50:51 python3 -c 'print("abcdefgh"[-3:-1])' Oct 06 02:50:54 prints "fg" Oct 06 02:51:27 python is... dunno, *shrug* the more I used it, the less I liked it Oct 06 02:51:50 but it has good bits too Oct 06 02:52:07 I did not back up my file and I changed it. Please hold. I have it on another medium. Oct 06 02:52:30 imagine saving things when they work Oct 06 02:52:34 before breaking them Oct 06 02:54:40 is similar to "abcdefgh".substr(6,2) in another language im familiar with Oct 06 02:55:36 https://pastebin.com/1X3RG3Hq is the " Oct 06 02:55:46 unbroken" Oct 06 02:56:26 Less than 100 C/C++ files to compile and boom, ardupilot 4.0! Oct 06 02:57:47 it takes like 80 seconds to compile here.. Oct 06 02:58:08 renrelkha: it's the same as .slice() on a string or array in javascript Oct 06 02:58:45 set_: oh god this is horrible in so many ways Oct 06 02:59:14 please use gpsd instead of this terribleness Oct 06 02:59:40 Otay and fine. **** ENDING LOGGING AT Tue Oct 06 02:59:56 2020