#robotics Logs

Aug 31 2017

#robotics Calendar

12:00 AM anonnumberanon: Oh wait no air on moon
12:02 AM mrdata: mhm
12:02 AM anonnumberanon: Rue more why python and what is the task? The sliders gui?
12:02 AM mrdata: plus air would be anotehr scarce resource
12:02 AM mrdata: or any gases for that matter
12:03 AM anonnumberanon: rue_shop3
12:04 AM rue_shop3: anonnumberanon, yea
12:04 AM rue_shop3: I have most of it
12:04 AM rue_shop3: just needs some glue
12:04 AM anonnumberanon: I hate that
12:04 AM rue_shop3: want to check out what I have so far?
12:04 AM anonnumberanon: Oh well i can give it a try
12:04 AM anonnumberanon: Let me get on a computer in 5 min
12:04 AM anonnumberanon: This is phone
12:05 AM rue_shop3: https://paste.debian.net/983807/
12:05 AM rue_shop3: that is what I ahve so far
12:05 AM rue_shop3: it needs to call sendPos when a slider moves
12:06 AM rue_shop3: I also have to dial down the rate that the sliders update
12:06 AM rue_shop3: that can be done in the calls to them
12:06 AM rue_shop3: 240Hz
12:06 AM anonnumberanon: Wait
12:06 AM anonnumberanon: This is my phonr i cant save stuff
12:07 AM rue_shop3: yea yea
12:09 AM rue_shop3: huh, power converter blew up
12:09 AM rue_shop3: I didn't put a load on it yet...
12:09 AM rue_shop3: CHINA!
12:14 AM anonnumberanon: Uhm what happened?
12:18 AM zhanx: rue_shop3: wired it wrong
12:20 AM mrdata: fuck
12:48 AM rue_house: no
12:48 AM rue_house: one of them is faulty
12:48 AM rue_house: but none of them like having a finger across the top of them when running
12:48 AM rue_house: which I suppose I can live with
01:05 AM anonnumberanon: ok rue_house let's play
01:05 AM rue_shop3: https://paste.debian.net/983807/
01:06 AM rue_shop3: you can probably set the port to /dev/zero if you dont have a serial adapter to test with
01:06 AM rue_shop3: see if it works in the first place maybe
01:06 AM rue_shop3: python gui seems to varry
01:09 AM anonnumberanon: yeah ill try, if i don't like it I'll start something else with SDL
01:09 AM rue_shop3: I have a good C library for talking to the servos properly
01:10 AM rue_shop3: but this is in the catagory of test-app
01:10 AM rue_shop3: so it can be a bit sloppy
01:11 AM rue_shop3: ok I think I have a board layout
01:11 AM rue_shop3: 3 servo power regulators
01:11 AM anonnumberanon: any reason for using pytthon?
01:12 AM rue_shop3: Q&D
01:12 AM rue_shop3: by tommorow about midnight, I should have the hardware built
01:12 AM rue_shop3: I'd like to get it on the hex and work out the position limits for all the axies
01:13 AM rue_shop3: oo, I wonder if mechanical position limits should be part of my generic servo library
01:17 AM youngiif: anonnumberanon, python is quick/easy to test/change, and for most serial communication it's probably plenty fast compared to c
01:17 AM anonnumberanon: rue_shop3, how do i test that python code again?
01:17 AM SpeedEvil: rue_shop3: come do my lawn, or washing up, or ... and I'll say more.
01:17 AM anonnumberanon: do i do python install Tk or something first?
01:17 AM rue_shop3: will it just run?
01:17 AM anonnumberanon: not sure let me see
01:17 AM rue_shop3: you might need to chnage the serial port to "/dev/null" or something "/dev/zero"
01:20 AM youngiif: rue_shop3, what type of usb device are you interfacing?
01:20 AM rue_shop3: pl2303
01:20 AM rue_shop3: to an stm32 that operates 24 servos
01:22 AM youngiif: ah, nice
01:22 AM rue_shop3: it could operate 88, but I'm not gonna go insane
01:26 AM youngiif: yeah that'd be something. do you have a way with those chips to ensure the serial command it receives is the serial command you sent? a serial project i'm working with does a crc check on both ends to check, but it may only be needed due to the hardware
01:27 AM rue_shop3: so far I'v not had any problems
01:29 AM anonnumberanon: rue_shop3, what do you use for an text editor?
01:29 AM rue_shop3: nedit
01:30 AM rue_shop3: regex search/replace, split windows, syntax hilighting (really customizable), and learn/replay keyboard macros
01:30 AM anonnumberanon: i don't use macros i don't know how or need to
01:30 AM youngiif: anonnumberanon, if you don't care about licensing, i think sublime text 3 is about the fastest loading and full featured text editor around
01:30 AM anonnumberanon: maybe one day
01:30 AM anonnumberanon: youngiif, i use that yes
01:30 AM anonnumberanon: like it a lot
01:30 AM rue_shop3: delete, k, down.. repeat 200 times...
01:31 AM youngiif: anonnumberanon, yeah i've tried atom, vs code, all the other programmers editors, and nothing comes close to sublime, it's crazy how fast it can load huge files, almost instantly in every case
01:31 AM anonnumberanon: yeah it's probably got some master code behind it
01:32 AM anonnumberanon: black magic
01:32 AM anonnumberanon: i got 5 instances of it running right now, each with multiple tabs
01:32 AM anonnumberanon: multiple files i mean
01:32 AM anonnumberanon: each project i open a new instance
01:32 AM orlock: eh
01:32 AM orlock: i find vi is pretty fast
01:33 AM youngiif: orlock, i can't disagree, if you know the shortcuts. i wonder how fast it would be compared to someone who knows all the sublime shortcuts tho
01:34 AM anonnumberanon: well rue_shop3 ok i tested it it just works
01:34 AM orlock: i just dump /dev/urandom directly into my source
01:34 AM orlock: ans assume that the universe loves me
01:34 AM youngiif: lol
01:34 AM anonnumberanon: i don't know if it sends anything though since i disabled all serial comms
01:34 AM rue_shop3: anonnumberanon, yay!
01:35 AM youngiif: rue_shop3, did you have to add your user to the dialout group for serial coms to work? i had to do that with the serial interface i'm working with, wondering if it's specific to it
01:35 AM rue_shop3: I know the serial works, so its just a matter of linking the sliders to the serial and making sure they dont push updates at more than 40Hz
01:35 AM rue_shop3: no, I just run as root
01:36 AM youngiif: ok i guess that would work too lol
01:36 AM orlock: youngiif: Thats slightly distro-specific
01:36 AM rue_shop3: youngiif, you can modify the system rules to give full permisisons on serial ports when it creates them
01:36 AM orlock: youngiif: Look at the permissions on your serial tty
01:36 AM rue_shop3: cat /etc/udev/rules.d/95-serialtoall.rules
01:36 AM youngiif: orlock, ah i wasn't sure, i'm just getting into my first serial project and remember having to set that
01:36 AM rue_shop3: KERNEL=="ttyUSB[0-9]*", MODE="0666"
01:37 AM orlock: 666 the mode of the beast
01:37 AM rue_shop3: yes, but the beast treats all equally
01:37 AM anonnumberanon: now an ennoying thing is that the physical height of the sliders is not modifiable
01:37 AM rue_shop3: anonnumberanon, yea, its not crunched up into a nonslidable height is it?
01:37 AM anonnumberanon: it is
01:37 AM rue_shop3: other interfaces were doing that to me
01:38 AM rue_shop3: damnit
01:38 AM rue_shop3: that code is the only code that didn't do that to me
01:38 AM anonnumberanon: resizing the application window does not resize the sliders
01:38 AM rue_shop3: not with how I did it
01:38 AM rue_shop3: hmm
01:38 AM anonnumberanon: it's probably in the Tk settings
01:38 AM rue_shop3: the sliders support a width setting, but not height
01:38 AM youngiif: rue_shop3, thanks for the tip on the udev rule, i'll use that
01:38 AM rue_shop3: youngiif, good show
01:40 AM anonnumberanon: where do I go check where master.mainloop() is?
01:40 AM rue_shop3: its deep in tk/X
01:40 AM anonnumberanon: i mean where mainloop() is
01:40 AM rue_shop3: it'll just be an event dispatch loop
01:40 AM anonnumberanon: what is tk/X
01:41 AM rue_shop3: its the gui lib
01:41 AM rue_shop3: look for a way to set the application size
01:41 AM anonnumberanon: doesn't help me to find it
01:41 AM rue_shop3: I did everthing with google
01:41 AM anonnumberanon: heh
01:41 AM rue_shop3: <- monkey coder, I just throw **** togethor
01:41 AM rue_shop3: anyhow
01:41 AM anonnumberanon: i want to know where to probe the slider 's value and to send it and i want to do it at 40 hz
01:42 AM rue_shop3: if you google up tk set application window size
01:42 AM rue_shop3: from what I can tell the program aks the sliders their min. size, and then the siders use the window size to work out how big to be
01:42 AM rue_shop3: then google slider tk
01:42 AM rue_shop3: there are a number of examples for anything tk
01:44 AM youngiif: if tk doesn't do what you want, you could always try qt
01:44 AM rue_shop3: no
01:44 AM rue_shop3: qt it horrid
01:44 AM youngiif: lol
01:44 AM rue_shop3: if you make anything in qt, it will not work when the next qt version comes out, you have to rewrite your code
01:45 AM rue_shop3: things like the number of arguments in a call change
01:45 AM rue_shop3: for the same function name
01:45 AM rue_shop3: if the application window size is set on creation, the siders wont be packed into an unusable space
01:45 AM rue_shop3: I'm sure of it
01:45 AM youngiif: that sounds terrible, i've never used either
01:46 AM rue_shop3: ncurses does the same thing
01:46 AM rue_shop3: they dont make a new function with a new name and the different argument count like they should
01:47 AM rue_shop3: MANY years ago I wondered what happened when a software program was finished
01:47 AM rue_shop3: when it was perfect
01:47 AM rue_shop3: what happens is that the gui lib it used goes obsolete, and nobody can port it
01:47 AM rue_shop3: so a new, inferior, error laden program takes its place and start the cycle all over again
01:48 AM rue_shop3: I think winamp is a perfect case
01:48 AM rue_shop3: er, Xamp!
01:48 AM rue_shop3: :)
01:48 AM youngiif: yeah i miss winamp
01:48 AM rue_shop3: Xamp/xmms
01:48 AM rue_shop3: they came out with xmms3, which is just some lame ass backend server
01:48 AM rue_shop3: it never worked
01:49 AM anonnumberanon: this sounds like a huge project but I'm tempted to do this with SDL
01:50 AM rue_shop3: just google how to set the window size on creation
01:50 AM rue_shop3: you would have to stack another lib on sdl to get the widgets
01:50 AM rue_shop3: like tk
01:50 AM rue_shop3: "and the circle turns"
01:50 AM anonnumberanon: i already did that i changed the window size, it doesn't have effect on sliders' dimensions
01:51 AM rue_shop3: are they comming up only as tall as the ...grip?
01:51 AM anonnumberanon: well their size is fixed
01:51 AM rue_shop3: but it works
01:52 AM rue_shop3: there is some room to slide up and down
01:52 AM anonnumberanon: it's about 70 pixels high on my machine
01:52 AM anonnumberanon: yeah there is room
01:52 AM anonnumberanon: but ehh, i would want something i can be really comfortable with
01:52 AM anonnumberanon: that would measure like 10 cm on any screen
01:52 AM rue_shop3: http://www.python-course.eu/tkinter_sliders.php
01:53 AM rue_shop3: length=600
01:53 AM rue_shop3: sliderlength Normally the slider is 30 pixels along the length of the scale. You can change that length by setting the sliderlength option to your desired length.
01:53 AM rue_shop3: https://www.tutorialspoint.com/python/tk_scale.htm
01:55 AM orlock: rue_shop3: you also have the flexibility f using pygame or similar of you want as well
01:55 AM orlock: and its all nice and reasonably cross platform
01:55 AM rue_shop3: 8-| oh god, aliexpress does shipping so much better than ebay
02:00 AM anonnumberanon: man i need an IDE to discover the library
02:00 AM rue_shop3: ?
02:00 AM rue_shop3: just google how to do things, there are a billion examples
02:00 AM anonnumberanon: to know where to put length
02:00 AM rue_shop3: try things, see if they work
02:00 AM rue_shop3: did you see where I copied ?
02:00 AM rue_shop3: http://www.python-course.eu/tkinter_sliders.php
02:01 AM rue_shop3: at the bottom of the page
02:01 AM rue_shop3: w2 = Scale(master, from_=0, to=200, length=600,tickinterval=10, orient=HORIZONTAL)
02:01 AM anonnumberanon: ok got a good height now
02:01 AM rue_shop3: :)
02:01 AM anonnumberanon: 240 pixels is a good value
02:02 AM rue_shop3: :)
02:02 AM anonnumberanon: whats the tick value?
02:02 AM rue_shop3: its the update rate
02:02 AM rue_shop3: read
02:02 AM rue_shop3: https://www.tutorialspoint.com/python/tk_scale.htm
02:03 AM rue_shop3: this page
02:03 AM anonnumberanon: 10 per second?
02:03 AM rue_shop3: oh, I'm wrong
02:03 AM anonnumberanon: oh labels for a scale
02:04 AM anonnumberanon: nah dont need that
02:04 AM anonnumberanon: .get to get the value anyway
02:04 AM rue_shop3: they put the labels in a stupid palce, that why I created the other text
02:04 AM anonnumberanon: because there are a lot of sliders i propose 2 windows of 16
02:05 AM anonnumberanon: 32 is too much for my small laptop screen (because i display the current value next to each slider)
02:05 AM rue_shop3: well, if you feel adventurous, try creating a timer, that, every .... 60ms calls itself, and sends the value of each slider
02:05 AM anonnumberanon: yeah that was my next task
02:05 AM anonnumberanon: how did you guess
02:06 AM rue_shop3: it was on my plate:) I had to work out what dressing I'd need
02:06 AM rue_shop3: ...
02:06 AM rue_shop3: I have a timer example...
02:06 AM anonnumberanon: but so the thing you have calls mainloop(), isn't that gonna mess with my timed loop?
02:06 AM rue_shop3: no
02:06 AM rue_shop3: becaue the timer is called by mainloop
02:06 AM rue_shop3: its event driven
02:07 AM rue_shop3: timer = threading.Timer(1.0, mycalledfunction).start()
02:08 AM rue_shop3: oh and...
02:08 AM rue_shop3: # FOR FOX SAKE, python cant clean up threads properly.
02:08 AM rue_shop3: # and there is no way to interrupt the running timer.
02:08 AM rue_shop3: so the program will hang after asking it to quit untill all the timers have gone off
02:09 AM rue_shop3: if its 1 second, you can notice, if its 60ms, you wont
02:10 AM rue_shop3: https://paste.debian.net/983818/
02:10 AM rue_shop3: its an oop example, copy carefully
02:23 AM rue_shop3: yay! I got 3 regulators,
02:23 AM rue_shop3: anonnumberanon, how you doing?
02:24 AM anonnumberanon: gonna release in a bit
02:24 AM anonnumberanon: lol
02:24 AM rue_shop3: thought you were programming!?
02:24 AM rue_shop3: geeesh
02:24 AM anonnumberanon: i am
02:24 AM rue_shop3: ya turn your back for a min...
02:24 AM rue_shop3: :)
02:25 AM anonnumberanon: i got the timing done
02:25 AM anonnumberanon: just getting the values now
02:25 AM rue_shop3: I'm just starting to solder parts into the main baord
02:25 AM rue_shop3: I havn't worked out a power input header or a 3.3V regulator
02:25 AM anonnumberanon: not done yet? okay..
02:26 AM anonnumberanon: lm 317 or something you got that?
02:26 AM anonnumberanon: doesn't that do 3.3?
02:26 AM rue_shop3: I'd take a pic, but the usb->wifi I got isn't linux-friendly
02:26 AM anonnumberanon: then hook up a potato to the input of it
02:26 AM rue_shop3: I ahve a 7833
02:26 AM rue_shop3: somwhere
02:27 AM rue_shop3: huh
02:27 AM anonnumberanon: arm runs on a potato doesn't it? i must be wrong
02:27 AM rue_shop3: hmm, and 5, but I'm running the servos on 6, i'd bet I can run the 4017 on 6 too
02:28 AM rue_shop3: or maybe I should use a 5V reg and let the stm32 use its onboard...
02:38 AM anonnumberanon: lol try this
02:38 AM anonnumberanon: https://paste.debian.net/983821/
02:40 AM rue_shop3: I have m328 versions of the controller for this code
02:41 AM rue_shop3: it shoudl enver get to s.run
02:41 AM anonnumberanon: I have no idea what I'm doing.
02:42 AM rue_shop3: :)
02:42 AM rue_shop3: you need a function that calls itself with the timer
02:42 AM rue_shop3: def foo():
02:42 AM rue_shop3: a = timer(in 1 second, call foo())
02:42 AM rue_shop3: do_stuff()
02:43 AM rue_shop3: so your close
02:44 AM rue_shop3: yea I'll turn the value labels off cause they put them in a stupid locations
02:45 AM rue_shop3: I can play a bit later, soldering
02:45 AM anonnumberanon: yeah would be nice if they were below the slider, however it would only help a little bit the width of the window of sliders
02:45 AM rue_shop3: you can do that
02:45 AM rue_shop3: they have the ability to update a variable
02:45 AM rue_shop3: you make variables for a text field below each one, and have the slider update it
02:46 AM rue_shop3: (iirc)
02:46 AM anonnumberanon: wait my .py doesn't even open the sliders window i just realized
02:46 AM rue_shop3: google 'er!
02:46 AM rue_shop3: yea, yo uhave do rework it a bit
02:56 AM rue_shop3: if you have a m328 board, you can try any 8 channels at once
02:56 AM rue_shop3: I did a 16 channel version you need 2 4017
02:58 AM rue_shop3: ok I can put two full size regulators under the stm32
02:59 AM rue_shop3: there will be a lot of soldering before I even get to the interconnect wires
03:01 AM rue_shop3: 1117-3.3
03:04 AM rue_shop3: anonnumberanon, not your first trip with python tho is it?
03:04 AM anonnumberanon: nah
03:05 AM anonnumberanon: i used it at work for a couple weeks at a startup
03:06 AM rue_shop3: :)
03:06 AM rue_shop3: yea, I just google all the tk details
03:06 AM rue_shop3: lots of examples
03:13 AM anonnumberanon: yeah it's kinda neat
03:13 AM anonnumberanon: I may do the timing tomorrow
03:13 AM anonnumberanon: just using time.time
03:13 AM anonnumberanon: like i do with C
03:18 AM rue_shop3: that example I gave you should be a good one
03:18 AM rue_shop3: https://paste.debian.net/983818/
03:18 AM rue_shop3: you just need to mentally seperate out the oop
03:19 AM rue_shop3: almost all the major connectors are soldered in
03:19 AM rue_shop3: I dont think I'll get all the interconnections tonight
03:20 AM rue_shop3: need a main power
03:20 AM rue_shop3: It think I'll have the 1117-3.3 suck off the 3 6V regulators for the servos
03:21 AM anonnumberanon: the oop is not much of a problem there i think
03:21 AM rue_shop3: main power lug, then do all the grounds...
03:21 AM anonnumberanon: at least i remember most of the constructs
03:21 AM rue_shop3: can you see how it works?
03:21 AM anonnumberanon: ys
03:21 AM anonnumberanon: just calls time.time
03:21 AM rue_shop3: no\
03:22 AM rue_shop3: def update(self):
03:22 AM rue_shop3: self.timer = threading.Timer(1.0, self.update).start()
03:22 AM rue_shop3: that is the self-callback mechanism
03:23 AM rue_shop3: :)
03:23 AM rue_shop3: I use time.time to work out what to display
03:23 AM rue_shop3: its a stopwatch for the nc spooler I wrote
03:24 AM rue_shop3: every "second" it rewrites the time text with the actual elapsed time
03:24 AM rue_shop3: cause the threading timer is never accurate
03:29 AM anonnumberanon: what is the threading timer, also assume I don't know about threading, or threads
03:29 AM anonnumberanon: or multithreading
03:32 AM rue_shop3: it just starts another processor thread with a wait in it, it calls the function you ask it to when its done
03:33 AM rue_shop3: https://stackoverflow.com/questions/2400262/how-to-create-a-timer-using-tkinter
03:33 AM rue_shop3: thats a good idea too
03:33 AM rue_shop3: https://stackoverflow.com/questions/17847869/python-tkinter-label-redrawing-every-10-seconds
03:35 AM rue_shop3: http://bfy.tw/DfV1
03:35 AM anonnumberanon: so it has to be a "tkinter involved" solution, because of tkinter's main loop?
03:35 AM rue_shop3: it can be
03:35 AM rue_shop3: I didn't
03:35 AM anonnumberanon: otherwise could have just used this: https://stackoverflow.com/questions/474528/what-is-the-best-way-to-repeatedly-execute-a-function-every-x-seconds-in-python
03:35 AM anonnumberanon: the answer with 60 upvotes
03:36 AM rue_shop3: try it
03:36 AM anonnumberanon: no
03:36 AM rue_shop3: throw all sorts of google answers at it till you find something that works
03:37 AM anonnumberanon: you should be able to use tkinter to get a timer
03:37 AM anonnumberanon: does it provide access to the timer it uses?
03:37 AM rue_shop3: if the servos are 0.5A at 6V
03:37 AM rue_shop3: then they would be about 0.25A at 12V
03:37 AM rue_shop3: at 1000uF/amp
03:37 AM rue_shop3: thats 250uF
03:38 AM rue_shop3: but I have 3 going at once, atleast
03:38 AM rue_shop3: so, 1000uF should cover me nicely
03:38 AM rue_shop3: anonnumberanon, it prolly is just event based unless you ask for a timer
03:38 AM rue_shop3: have you ever seen a windows event loop?
03:38 AM rue_shop3: in C?
03:39 AM anonnumberanon: your power supply for the servos doesn't already have capacitors? or you're making your own power supply?
03:39 AM rue_shop3: yea they put like 1uF on it so you cant say the supply dosn't work
03:39 AM anonnumberanon: what power is it rated for?
03:39 AM rue_shop3: 1.8A
03:39 AM anonnumberanon: yeah I've done timing with sdl
03:39 AM rue_shop3: but, their chineese amps
03:40 AM anonnumberanon: and it has a 1uF only?
03:40 AM anonnumberanon: get out
03:40 AM rue_shop3: its china dude
03:40 AM rue_shop3: I dont set the bar high
03:40 AM anonnumberanon: how much money was it?
03:40 AM anonnumberanon: is it tiny?
03:40 AM rue_shop3: yes
03:40 AM anonnumberanon: no inductor?
03:41 AM rue_shop3: its got an inductor
03:41 AM rue_shop3: its a 630Khz converter
03:41 AM rue_shop3: its about 12mm x 9mm
03:41 AM anonnumberanon: oh that's big
03:41 AM anonnumberanon: oops nvm lol
03:41 AM rue_shop3: its less than 50c
03:42 AM anonnumberanon: i thought you said 120mm
03:42 AM rue_shop3: http://www.winprog.org/tutorial/window_click.html
03:42 AM rue_shop3: so, even under linux, there is a function like that
03:43 AM rue_shop3: the gui uses it to push events into the application
03:43 AM rue_shop3: mouse move, click, keyboard, timer, whatever
03:45 AM rue_shop3: hmm
03:45 AM rue_shop3: I should start by getting the power supplies up
03:45 AM rue_shop3: blue or white power led?
03:46 AM anonnumberanon: wait
03:46 AM rue_shop3: white?
03:46 AM anonnumberanon: im still oblivious to that whole timing thing
03:46 AM anonnumberanon: "event based"
03:47 AM anonnumberanon: why do you people keep saying that
03:47 AM rue_shop3: ok
03:47 AM rue_shop3: so,
03:47 AM rue_shop3: the idea is that code isn't run till its triggered by soemething
03:47 AM anonnumberanon: sure so far so good
03:47 AM rue_shop3: the mouse click triggers an input handler
03:47 AM anonnumberanon: wait a minute
03:47 AM rue_shop3: the input handler triggers a layout manager
03:48 AM anonnumberanon: how often is a mouse click probed for
03:48 AM rue_shop3: the layout manager passes to a window
03:48 AM rue_shop3: the window passes it to a widget
03:48 AM anonnumberanon: aaaand you lost me
03:48 AM rue_shop3: ok, you click the mouse
03:48 AM rue_shop3: that cuases an interrupt
03:48 AM rue_shop3: so, the interrupt calls a function to deal with the data
03:49 AM rue_shop3: the function calls another function based on what the data is
03:49 AM rue_shop3: the function calls another function based on what the data is
03:49 AM rue_shop3: the function calls another function based on what the data is
03:49 AM rue_shop3: the function calls another function based on what the data is
03:49 AM rue_shop3: the function calls another function based on what the data is
03:49 AM anonnumberanon: lol
03:49 AM anonnumberanon: it's 4 am man don't be so loud
03:49 AM rue_shop3: eventually, something like a widget (a button in an application) gets its code called
03:49 AM rue_shop3: its all event based
03:49 AM rue_shop3: its not waiting for something to happen
03:49 AM rue_shop3: everyone is called on WHEN something happens
03:50 AM rue_shop3: thats event based
03:50 AM rue_shop3: if the user presses a key, touches the mouse, if a timer goes off, or a buffer goes empty
03:50 AM rue_shop3: things happen
03:51 AM rue_shop3: they aren't being always waited for
03:51 AM rue_shop3: when you wait for soemthing, thats polling
03:51 AM rue_shop3: is the L key down yet?
03:51 AM rue_shop3: is the L key down yet?
03:51 AM rue_shop3: is the L key down yet?
03:51 AM rue_shop3: is the L key down yet?
03:51 AM rue_shop3: is the L key down yet?
03:51 AM rue_shop3: is the L key down yet?
03:51 AM rue_shop3: is the L key down yet?
03:51 AM rue_shop3: is the L key down yet?
03:51 AM rue_shop3: is the L key down yet?
03:51 AM rue_shop3: how about now? L key? yes? no?
03:51 AM rue_shop3: its less efficient
03:52 AM rue_shop3: esp for task schedulers that cant know what it waiting for
03:54 AM anonnumberanon: so an interrupt is event based for example
03:54 AM rue_shop3: yes
03:54 AM rue_shop3: if your main is just while(1);
03:54 AM rue_shop3: and everything is done with interrupts, your completely event based
03:56 AM anonnumberanon: i will read up on this
03:57 AM anonnumberanon: i knew interrupts were powerful from messing with the 328
03:57 AM anonnumberanon: https://softwareengineering.stackexchange.com/questions/267752/when-should-i-use-event-based-programming
03:59 AM rue_shop3: I'm gonna go start routing the grounds
04:08 AM anonnumberanon: bed
04:08 AM anonnumberanon: dead
04:55 AM rue_shop3: ok, got power to the 3 power converters
04:56 AM rue_shop3: they draw 50mA @ 12V...
04:56 AM rue_shop3: 0.6W
05:41 AM rue_shop3: ok, thats pretty good, the power control and the 3 main regulators are there
05:42 AM rue_shop3: I'll next have to ground everyone else out, and feed the 3.3V regulator and the stm32 from there
05:42 AM rue_shop3: then I can make sure the stm32 works, and start stitching it to the 4017s
05:42 AM rue_shop3: then stitch the 4017s to the servos
05:43 AM rue_shop3: surprising how much weight a board can take on as it populates
06:03 AM ace4016: mrdata_, robotic space miners is something i'd like to see too. but we need to kind of bootstrap the space stuff a bit more. launching and building on earth is pricey
06:44 AM SpeedEvil: Now explain why the same techniques for building cheaplyin space don't work on earth. Long-term launch prices for earth based items are likely to be around $20/kg.
10:18 AM DagoRed: morning
10:56 AM mrdata_: but at present cost ~ 100x that, everything is constrained by lift cost
11:58 AM SpeedEvil: yes. But the implicit argument is then that you can get the factory up in orbit cheaper than the thing you're making - which I'm gonna need to see numbers on.
11:59 AM SpeedEvil: I can see it for stuff like making habitat components from minimally processed regolith.
12:00 PM mrdata_: yes
12:02 PM mrdata_: tho insulation with thermal conductivity < 0.004 W/(m K) is probably light weight, making large amounts of that from regolith is something you want for the polar moon base
12:03 PM mrdata_: you will wasnt to do O2 generation for the long term lunar or asteroid missions
12:04 PM mrdata_: s/wasnt/want/
12:05 PM mrdata_: it's about amount of stuff
12:06 PM mrdata_: and if you can 3D print parts in situ from local materials, you dont have to bring every kind of tool on the mission with you that you might need
12:07 PM Snert__: they can boost the toolbox out ahead of the mission
12:08 PM Snert__: at least at first until they get the overall thing all down.
12:09 PM mrdata_: cosmic ray shielding from local material is a win, too; just 12.5 m of solid rock should do i think
12:10 PM mrdata_: or ~ 25 m thickness of loose aggregate
12:12 PM mrdata_: one tunnel-boring machine, capable of 5 m dia tunnels, could make a whole community of habitats
12:13 PM Snert__: it might package pretty well sitting atop a booster too.
12:16 PM mrdata_: how much mass can falcon heavy lift to a high orbit?
12:16 PM alic1a: mrdata_: No results
12:17 PM Snert__: mrdata_: I dunno, but the TBM could be broken down to 2 or 3 sections I bet.
12:17 PM mrdata_: 54 tonnes toi LEO i guess
12:18 PM mrdata_: *to
12:20 PM SpeedEvil: mrdata_: for a moonbase, you use vacuum insulation
12:20 PM mrdata_: correct
12:21 PM SpeedEvil: MLI is quite light.
12:22 PM mrdata_: perlite in vacuum is pretty good; 0.35 m thickness can handle delta-T ~ 230 °C
12:22 PM mrdata_: how much do you need? 100 m^2 of it for a small hab
12:23 PM mrdata_: will get you to ~ 100 W heating cost
12:24 PM mrdata_: or one adult human
12:28 PM mrdata_: http://www.spacex.com/falcon-heavy there we go, 63.8 t to LEO
12:37 PM mrdata_: this is up from 54 t, is that due to performance improvements?
12:38 PM mrdata_: or as different orbit
12:38 PM Snert__: because it's LEO. And not further up.
12:39 PM synja: how much mass can falcon heavy lift to high orbit?
12:39 PM alic1a: synja: With more than 5 million pounds of thrust at liftoff, Falcon Heavy will be the most capable rocket flying.
12:40 PM mrdata_: check the delta-v chart
12:40 PM synja: thanks
12:40 PM mrdata_: and work the rocket equation on it
12:43 PM mrdata_: Cost per launch‎: ‎$90M for up to 8,000 kg to GTO
12:43 PM mrdata_: according to https://en.wikipedia.org/wiki/Falcon_Heavy
12:44 PM synja: mrdata_, you can just ask this
12:45 PM synja: how much does it cost to launch falcon heavy?
12:45 PM synja: apparently alicia is ignoring me
12:45 PM alic1a: synja: No results
12:45 PM synja: oh ok thank
12:46 PM mrdata_: but we have the answer to how much mass to high orbit. 8 tonnes
12:49 PM mrdata_: geostationary and low lunar orbit are similar delta-v cost
01:04 PM mrdata_: so maybe 1 or 2 t to the lunar surface?
01:08 PM mrdata_: for $90 M that isnt much stuff
01:25 PM mrdata_: so every gram of material made locally on the moon or an asteroid saves $90 haulage from earth, right now
01:26 PM mrdata_: i think any robotic factory that makes 100x as much product as its own mass is a win
01:36 PM SpeedEvil: Only if that factory, mining or gathering equipment, power, time, managment, reliability, ... all stack up
01:38 PM mrdata_: of course
01:38 PM mrdata_: only machines that work need apply
04:50 PM Snert__: I think we should have garbage harvester bots cruising the oceans.
04:50 PM synja: alic1a, clean up the garbage
04:50 PM alic1a: synja: Interesting
04:51 PM Snert__: solar powered. Submerges with it's garbage load when a storm comes along.
04:51 PM Snert__: then resurfaces and continues collecting when the weather gets better.
06:40 PM anonnumberanon: so asubmarine of sort
07:56 PM rue_house: wow, this aliexpress stuff arived REALLY FAST
07:56 PM rue_house: so, anyone notice how we went days without anyone saying anything till I went ok a kick rampage?
07:57 PM synja: you know rue_house, you could have done it in a single command
07:57 PM synja: instead of going person by person
07:57 PM Tom_L: speak up or die
07:59 PM rue_house: I really dont mind tho
08:00 PM synja: try this next time
08:00 PM synja: /msg chanserv clear #robotics users
08:01 PM rue_house: no, I just want to trim the dead lurkers
08:01 PM synja: pretty sure you kicked everyone
08:01 PM synja: i was talking and you kicked me :P
08:02 PM rue_house: I'm not good with names, sorry
08:02 PM rue_house: your new
08:02 PM rue_house: :) welcome
08:02 PM synja: 6 months new
08:02 PM rue_house: yea
08:02 PM rue_house: most of us have been here 16 yeras
08:03 PM rue_house: 10? 12 maybe...
08:05 PM rue_house: wholy crap, 9 days from china
08:05 PM rue_house: didn't think it'd been long
08:06 PM rue_house: and the other was 9, and another was 12
08:06 PM rue_house: DAYS
08:06 PM rue_house: I cant get stuff from vancouver that fast
08:06 PM Tom_L: synja when did you get kicked?
08:07 PM rue_house: during my rampage prolly
08:07 PM rue_house: I was going thru all the nicks I couldn't remember having ever said anything
08:07 PM Tom_L: clear doesn't lock them out does it?
08:07 PM synja: he wasn't trying to lock people out
08:07 PM Tom_L: i know
08:07 PM Tom_L: it's a yearly ritual
08:07 PM rue_house: rlly?
08:08 PM synja: and i said at least 7 sentences prior to him kicking me
08:08 PM rue_house: do I really do that every year?
08:08 PM synja: he was def. just going down the list :P
08:08 PM rue_house: synja, again, my appologies
08:08 PM Tom_L: you either do it or talk about it
08:08 PM synja: rue_house, idc i'd just rather you do it in one line of code ;)
08:08 PM alic1a: synja: I'd rather you not mention vs I'd rather you didn't mention ...
08:09 PM synja: don't lecture me on grammar, bot
08:09 PM Tom_L: synja that doesn't clear self too does it?
08:09 PM Tom_L: your grammar sucks
08:09 PM synja: it might Tom_L
08:09 PM Tom_L: :)
08:10 PM rue_house: synja, I have to take care too, if I kick tom, there will be hell to pay, if I kick LoRez, I might never get back on freenode again
08:10 PM Tom_L: gotta keep rue livin in fear...
08:10 PM synja: i wonder if you can do a reason with clear
08:10 PM rue_house: :)
08:11 PM synja: how many people were there yesterday before the kicks?
08:11 PM rue_house: 67
08:11 PM Tom_L: i know a channel you could test it in
08:11 PM rue_house: or 76
08:11 PM Tom_L: i wonder how many would come back
08:11 PM rue_house: my memory dosn't work in such a way I'm sure
08:12 PM rue_house: ooo toys toys
08:12 PM rue_house: 3 arduino
08:12 PM rue_house: uno
08:12 PM rue_house: a raw lcd
08:13 PM rue_house: li-ion usb chargers
08:13 PM rue_house: and a scalple
08:13 PM rue_house: I still havn't played with the TM1638 board
08:14 PM rue_house: 9 days
08:14 PM rue_house: should I buy more?
08:14 PM mrdata: more what?
08:14 PM rue_house: more from china
08:15 PM rue_house: stuff arrived in _9_ days
08:15 PM synja: fairly average
08:15 PM rue_house: no
08:15 PM rue_house: normal is 22 days
08:15 PM rue_house: canada post bad is 7 months
08:15 PM -!- #robotics mode set to +o by ChanServ
08:16 PM synja: it depends upon customs
08:16 PM synja: i found that smaller packages ship much quicker
08:16 PM rue_house: Tom_L, while your up there, un-op the bed for me would ya?
08:16 PM -!- #robotics mode set to -o by Tom_L
08:16 PM rue_house: thanks
08:16 PM Tom_L: wanna try clear?
08:16 PM rue_house: kept forgetting when I was up there
08:16 PM rue_house: no
08:16 PM synja: lmao
08:16 PM Tom_L: i do
08:17 PM rue_house: we should try in a ...avr?
08:17 PM Tom_L: they wouldn't know what hit em
08:17 PM rue_house: some of the 164 _MUST_ be dead wood
08:17 PM synja: just shoot the staff in this chan a msg quick
08:17 PM -!- #robotics mode set to -o by Tom_L
08:17 PM synja: aww
08:17 PM Tom_L: staff?
08:17 PM synja: wanted to see it in action
08:17 PM Tom_L: we are the rod and the staff..
08:17 PM synja: apparently LoRez is staff?
08:18 PM Tom_L: yeah he used to be anyway
08:18 PM rue_house: yea
08:18 PM rue_house: fear the lorez
08:44 PM anonnumberanon: we'll have to talk about the human kicking, you should have let a bot do it for you
08:44 PM anonnumberanon: a bot that makes stats on who talks, how long sentences, etc
08:44 PM anonnumberanon: now dinner though
08:45 PM synja: don't give him ideas, or he might ask
08:46 PM rue_house: hah
08:46 PM anonnumberanon: before i go dinner, id like to reply to one thing
08:46 PM anonnumberanon: >should i get more stuff from China
08:47 PM anonnumberanon: not even gonna answer actually..
08:47 PM anonnumberanon: dinner now
08:47 PM rue_house: I'm having a problem keeping the queue up to 20 items
08:47 PM rue_house: I'm down to 16 now
09:19 PM rue_house: anonnumberanon, I'm gonna work on that controller in about 2 hours
09:19 PM rue_house: hopefully I can finish routing it
09:57 PM anonnumberanon: I feel dead
09:59 PM anonnumberanon: Been welding all day on this shitty metal
09:59 PM anonnumberanon: Making holes through it
09:59 PM anonnumberanon: Not on purpose
10:02 PM anonnumberanon: (Installing butterfly valves on my exhaust on the car)
11:49 PM rue_house: welding, nice day