#robotics Logs

Jan 09 2018

#robotics Calendar

12:17 AM rue_: oh I get it, IF(I-J)1,2,2 the 3 params are like less than, equal, and greater than
01:16 AM rue_: wtf, why does my editor have a FORTRAN mode!!!!!
01:16 AM rue_: i'm not sure if that kosher
01:18 AM mrdata: rue_, FORTRAN has a weird tab format; just the thing an editor would compensate for
01:18 AM rue_: its doing keyword hilighting
01:18 AM rue_: ... all 4 of them
01:18 AM mrdata: yeah
01:19 AM mrdata: DO10I=1,5
01:19 AM mrdata: whee
01:19 AM rue_: ? do you know fortran?
01:19 AM mrdata: a little
01:19 AM rue_: IF(MMAX-N) 7, 9, 9
01:19 AM rue_: less than, equal, greater?
01:19 AM mrdata: ok
01:19 AM mrdata: yeah, iirc; it's been awhile
01:20 AM rue_: heh
01:20 AM rue_: 1967?
01:20 AM mrdata: 35 years
01:20 AM rue_: sounds about right
01:20 AM mrdata: york university had a WATFIV compiler
01:20 AM rue_: yea fortran 4
01:20 AM mrdata: waterloo FORTRAN IV
01:24 AM rue_: DO 8 M=1, MMAX, 2
01:24 AM rue_: 8 is the end of the loop
01:24 AM rue_: M=1 is init
01:24 AM rue_: MMAX is a condition, but !?! and 2?!?!
01:25 AM rue_: oh M+=2 per loop
01:25 AM rue_: ?
01:26 AM * rue_ taps on mrdata
01:26 AM rue_: ??
01:29 AM mrdata: hmmm...
01:30 AM mrdata: 8 is a statement label
01:30 AM mrdata: um, i dont recall using 3 params in the DO statement; maybe i overlooked that feature
01:31 AM rue_bed: yea, 8 is the label, and that makes sense
01:31 AM rue_bed: it would make sense, the 3rd param is the amount to increment by
01:32 AM mrdata: it does make sense but idk the vintage of th feature
01:32 AM rue_bed: in later basic took the form for i = start to end step amount
01:32 AM mrdata: eg whether it was fortran77 era
01:32 AM rue_bed: where {step amount} were optional
01:32 AM mrdata: or earlier
01:33 AM rue_bed: someone got really creative when they converted this to C
01:33 AM rue_bed: they went to a lot of work to avoid cos()
01:34 AM mrdata: C made a lot more sense to me after reading david gries, the science of programming
01:34 AM mrdata: because why start a count at zero
01:35 AM rue_bed: hahaha
01:35 AM rue_bed: oh dear
01:35 AM rue_bed: the things we just accept
01:36 AM mrdata: but some of them make sense; off-by-one errors should be avoidable
01:37 AM mrdata: and for(i=0; i<MAX; i++) compiles into cleaner machine code
01:39 AM mrdata: i<SIZE is more clear actually
01:39 AM mrdata: i should sleep
01:39 AM mrdata: nn
02:03 AM anonnumberanon: yes please shill the Fortran again, I need the C market to get cleared a bit for me
12:48 PM veverak: hmm
12:48 PM veverak: well
12:48 PM veverak: I started to do gardening
12:48 PM veverak: (you know, to have something green in the room)
12:48 PM veverak: somehow it ended up with a cubieboard that is controlling relay for LED strip aove the flowers
12:48 PM veverak: and...
12:48 PM veverak: webcam :)
12:48 PM veverak: https://scontent-vie1-1.xx.fbcdn.net/v/t35.0-12/26772353_1818762478135129_922269322_o.jpg?oh=1ce2d2c3c3148dbcd262c53d7018ffdf&oe=5A57B7B4
12:49 PM veverak: it's hydroponics system, so I am thining about setting up OpenCV code that will watch the "water level gauge" and send alert when it is lov
12:49 PM veverak: *low
01:26 PM micmac_: :)
01:26 PM micmac_: you can't just have a plant in a pot, you have to add all the electronic stuff hehe
01:27 PM veverak: yeaaaaah!
01:28 PM veverak: :D
01:31 PM micmac_: you don't really need opencv to watch water level though, it's overkilll
01:32 PM micmac_: two electric wires in the pot and a current tester (i don't know how to say it in english, maybe continuity tester)
01:33 PM micmac_: then it sends an alert on some pin of your rasperry/cubie board
01:33 PM veverak: I have opto gate used as endstop for 3d printer that is not used
01:33 PM veverak: propably the easiest to install&use
01:34 PM veverak: I suppose daily cron job checking one digital pin on cubieboard would do the trick
01:34 PM micmac_: somethin like that yes :)
02:38 PM robotustra: any news?
02:44 PM robotustra: Tom_L, any progress?
03:06 PM Tom_L: since when?
04:46 PM logicmoo is now known as dmiles
05:41 PM THX1338: hey guys, i'm playing with arduino and i try to intercept the data of serial port , i mean, /dev/ttyACM0, i'm trying something like create a file descriptor of /dev/ttyACM0 and try to read with a while read -u <descriptor> -r line
05:42 PM THX1338: the information arrives incomplete, i dont know why
05:42 PM THX1338: i mean, the arduido send to tty something like "Move Detect at x cm\n"
05:43 PM THX1338: i just pickup the last strings or something like that
05:43 PM THX1338: i just pickup the last characters or something like that*
05:45 PM THX1338: i think if i can read data from the serial port from a raspberry connect in the usb port
05:45 PM THX1338: i can process the data and send sms with twillo api in python
05:45 PM THX1338: did you guys have some idea of how read data from the serial port using shellscript or python?
08:25 PM robotustra: since last week
08:31 PM Tom_shop: working on the Z axis motor mount
08:36 PM rue_: k, I redid the motor connection on my machine
08:36 PM rue_: no more push-ons, its soldered with a screw terminal disconnect
08:37 PM Tom_shop: oh and i found the issue with the pendant but haven't fixed it yet
08:37 PM rue_: but I cant keep my eyes open
08:37 PM rue_: what was it?
08:37 PM Tom_shop: but i CAN
08:37 PM rue_: software?
08:38 PM Tom_shop: gpio 37 isn't switching
08:38 PM Tom_shop: maybe a broken wire or something
08:39 PM rue_: what does 37 do?
08:41 PM Tom_shop: it's the medium jog speed
08:41 PM Tom_shop: slow and fast work fine
08:41 PM rue_: ah
09:10 PM Tom_shop: ok at least i figured out how i'm gonna mount the Z motor now
09:11 PM rue_: I thought you had that
09:12 PM Tom_shop: naw i wasn't completely sure of all the details
09:12 PM Tom_shop: but now i am
09:14 PM Tom_shop: i will cut the pieces out tomorrow
10:35 PM Tom_L: ok i got part of it cut out
11:22 PM rue_: mrdata, did you say you knew fortran IV?
11:23 PM rue_: DO 8 M=1, MMAX, 2
11:23 PM mrdata: i'm rusty
11:23 PM rue_: so
11:23 PM rue_: for loop, init M to 1
11:23 PM mrdata: what now
11:23 PM rue_: M = 1 to MMax?
11:23 PM rue_: and increment by 2
11:23 PM mrdata: yes
11:23 PM mrdata: i think so
11:23 PM rue_: for m < mmax?
11:23 PM rue_: for/or
11:23 PM mrdata: no M <= MMAX
11:23 PM rue_: ok
11:24 PM rue_: hmm
11:24 PM rue_: interesting
11:24 PM mrdata: which makes sense if arrays begin at 1
11:24 PM rue_: and they did
11:24 PM rue_: :)
11:24 PM mrdata: :;
11:25 PM * mrdata trims his mustache a bit
11:26 PM rue_: ok so
11:28 PM rue_: http://paste.debian.net/1004390/ -> http://paste.debian.net/1004391/
11:28 PM mrdata: ...
11:28 PM rue_: shoudl be right...
11:29 PM rue_: heh, I could be all archaic and use goto
11:29 PM rue_: oh, wait, I cant type that word anymore
11:29 PM rue_: I left it back with BASIC
11:32 PM mrdata: there were valid uses of goto even after dijkstra panned it
11:32 PM mrdata: eg: for exception handling\
11:32 PM mrdata: so i was like w/e
11:33 PM rue_: uhu
11:33 PM rue_: otherwise, that look accurate to you?
11:33 PM rue_: its not working right
11:34 PM mrdata: kinda; i assume you can test it?
11:34 PM mrdata: oh, hmm
11:34 PM mrdata: better single-step, then
11:34 PM rue_: I am, something is amyss
11:34 PM rue_: and yet
11:34 PM rue_: its almost identicle to
11:34 PM mrdata: yeah
11:36 PM mrdata: maybe have a look at the generated asse\mbly code
11:36 PM rue_: oh
11:36 PM rue_: I think mmax=istep is in the wrong spot
11:36 PM rue_: cause the loop end...
11:37 PM rue_: ooh yea, 8 is the end of both loops
11:38 PM rue_: thats better
11:38 PM mrdata: yeah
11:38 PM mrdata: add a label
11:38 PM mrdata: for the outer one
11:38 PM rue_: sweet, tahts the expected results
11:38 PM mrdata: good
11:38 PM rue_: :)
11:38 PM rue_: 1967
11:39 PM mrdata: yeah 1967 called, they want their mercury probe back
11:39 PM rue_: from a lanuage only released in 1957
11:39 PM rue_: standardized in 1978 (the 77 version)
11:39 PM rue_: I been doing WAY too much reading
11:40 PM mrdata: i do recall a space vehicle crashed due to a typo: "," was needed, but "." was in the statement
11:40 PM mrdata: so DO10I=1.5
11:40 PM mrdata: is a variable asssigned to 1.5
11:40 PM rue_: ouch
11:40 PM mrdata: because spaces are insignificant
11:40 PM rue_: 80 characters to a card man!
11:40 PM mrdata: whereas DO10I=1,5 is a loop
11:41 PM rue_: it explains the modern 40/80 column phobia
11:41 PM rue_: right
11:41 PM rue_: +- the price of cards, I think I'd have put 1 line/card
11:41 PM rue_: so I could edit lines :)
11:42 PM mrdata: they would just sort and shuffle csrds to edit programs
11:42 PM rue_: I can see that
11:42 PM mrdata: sort of. you pull the ofending card and replace it
11:42 PM rue_: yea
11:43 PM rue_: or drop them and just release them in whatever order to the public as open source code
11:43 PM mrdata: accidentally dropping the deck was considered poor form
11:43 PM rue_: some simpel programs must have been THICK
11:43 PM mrdata: we'd measure them by the inch
11:43 PM rue_: were there simple terminals for 'writing' cards?
11:44 PM rue_: I imagine youdidn't do it on the computer
11:44 PM mrdata: IBM 029 keypunch was the main beast
11:44 PM mrdata: but paper tape punch and reader existed
11:44 PM rue_: cause you would get your program togethor and them file to have it run/get results
11:44 PM rue_: ?
11:44 PM mrdata: yeah
11:45 PM mrdata: whether to load from the card reader or paper tape was a JCL statement, i never used myself
11:45 PM mrdata: all my programs were less than five inches thick
11:46 PM mrdata: i used rthw high speed job stream at york u
11:46 PM mrdata: if you couldnt compile and run in 3 seconds, you got rejected
11:46 PM mrdata: and had to pay to run your program
11:47 PM mrdata: i had the line printer spit out 2D graphics
11:48 PM rue_: wow
11:48 PM mrdata: that was fun
11:48 PM rue_: 5 inches thick...
11:48 PM mrdata: some chr maps, some parameterized functions
11:49 PM mrdata: and a few games
11:50 PM rue_: oh so the runtime didn't have to be 3 seconds
11:51 PM rue_: I'm trying to work out what was done to this code in the 51 years its been around
11:51 PM rue_: http://www.drdobbs.com/cpp/a-simple-and-efficient-fft-implementatio/199500857
11:51 PM rue_: someone tried to optimize it
11:53 PM mrdata: mhm
11:54 PM mrdata: for the york u high speed job stream, they allowed 3 seconds total for compile plus run
11:54 PM rue_: well, and they did a bad job of zero-indexing it
11:54 PM rue_: oh
11:55 PM mrdata: but it was free, so i spent many hours there
11:55 PM mrdata: as a teen
11:55 PM rue_: :)
11:55 PM rue_: I couldn't find the contact for N M Brenner, who wrote it
11:56 PM rue_: but he seems to imply its a mashup between him and two other people