#robotics Logs
Jan 10 2020
#robotics Calendar
12:01 AM Jak_o_Shadows: polprog, my picture claims that most of the pins one one side are 5V tolerant
12:07 AM Jak_o_Shadows: https://idyl.io/wp-content/uploads/2018/07/stm32f103-pinout-diagram.png
12:39 AM rue_mohr: wow cool
12:40 AM rue_mohr: it looks like maker thursday is occuring at the shop
02:35 AM deshipu: on Friday?
02:40 AM BitEvil is now known as SpeedEvil
04:01 AM polprog: Jak_o_Shadows: yeah ive seen that image as well but later when i checked the datasheet there was something wrong
04:08 AM polprog: hmm checking the datahseet on stm32f103c8 seems that PB 3,4,6-9,10-15 and PA 8-15 are 5v tolerant...
04:09 AM polprog: good
04:09 AM polprog: that changes the state of the matter :P
04:09 AM polprog: should be enough for some basic IO to an ULN2003
04:09 AM polprog: or uart
04:10 AM polprog: hmm, right, my bad
09:04 AM zhanx_ is now known as zhanx
09:20 AM rue_mohr: even 3.3 can output to a uln2803
10:09 AM chisight: yeah, at low currents of 200mA the TI variant of the uln2803 is rated down to 2.4V inputs. even at 300mA theirs can be driven at 3.0V. it's a simple darlington per the functional diagram so no schmidt trigger with hysteresis and oddly, i can't find the gain specified.
10:22 AM rue_mohr: iirc 3000 is typ
10:33 AM chisight: i can't find 3000 in the datasheet and the Ion typical combined with Imax seems to say best possible high current gain is 555. but that'd be a really rough number since it's apples to oranges conditions. gain might be better at lower currents so 3k is possible.
04:36 PM armyofevilrobots: @rue_mohr ; The link for those switches is: https://www.aliexpress.com/item/32980039972.html
07:25 PM rue_mohr: armyofevilrobots, hi!
07:26 PM rue_mohr: I cant remembe which ones have the buckle like effct
07:26 PM rue_mohr: polprog, do you have a programmer for that?
07:27 PM Jak_o_Shadows: Job 1: Spool bearing thingy
07:30 PM rue_mohr: blue
07:30 PM rue_mohr: its blue I want
07:35 PM rue_mohr: tho I ponder
07:36 PM rue_mohr: what if the depressed feedback were via a different mechanism
07:38 PM Jak_o_Shadows: No, I got silver filament
07:38 PM Jak_o_Shadows: Personally i'd call it grey
07:38 PM Jak_o_Shadows: but it was cheaper than the transparent/white
08:23 PM rue_bed: polprog, if you would like, I can tar/gz all the fpga project folders I have so far
08:23 PM rue_bed: complete so ya dont have to make the new projects
08:27 PM armyofevilrobots: rue_mohr, the buckling springs are all the IBM M-models like that one you have.
08:28 PM armyofevilrobots: Nobody else makes those anymore except for unicomp, who are using old IBM/Lexmark tooling for the same old keyboards.
08:29 PM rue_bed: ah yes, but the blue is that snap action thing, where after it snaps, the key is definitly registered
08:30 PM rue_bed: but honestly, some of the old keyboards used to just have a solenoid kicker in them
08:30 PM rue_bed: for the tactcile feedback
08:30 PM rue_bed: geeI hatethis laptopkeybnoard
08:30 PM rue_bed: notall thekeys are working all the time and you cant tell if they dont register
08:32 PM rue_bed: armyofevilrobots, what did you use for you pcb layout?
08:37 PM armyofevilrobots: I used kicad. It's actually pretty good now. I miss protel/altium though.
08:42 PM Tom_L: rue_bed, i figured it might be good for him to figure out how to make projects
08:42 PM Tom_L: learning the steps isn't obvious
08:51 PM Jak_o_Shadows: Hmm. I should ask for feedback on the PCB design I did for the alarm clock
09:24 PM rue_bed: armyofevilrobots, I found the permisisons thing
09:24 PM rue_bed: misunderstanding of the params to open()
09:25 PM rue_bed: what I was passing was not for read/write, but for file creation mode
09:25 PM rue_bed: it should have been set to 0666
09:26 PM rue_bed: iirc preceeding a number in C with 0 makes it octal
09:27 PM Jak_o_Shadows: Python does the same
09:27 PM Jak_o_Shadows: I disagree with it
09:27 PM rue_bed: octal can go away now
09:27 PM rue_bed: i recall when gcc didn't accept binary
09:27 PM rue_bed: back in ~2000
09:28 PM rue_bed: that was frustrating
09:29 PM rue_bed: but I want anon struct unions
09:30 PM rue_bed: I might down my internet for a bit and do an upgrade
10:45 PM Tom_L: rue_bed, that's just asking for trouble..
10:47 PM Tom_L: who used octal anyway??
10:53 PM torque: octal is pretty much only used for permissions bits
11:15 PM armyofevilrobots: Ah. I didn't notice the leading 0 in there, makes total sense now.
11:15 PM armyofevilrobots: Octal _does_ make sense though to represent UGO perms in three characters without wasting bits. Also "tradition" ;)
11:24 PM rue_mohr: ok, I'm 1G thru to the modem now
11:24 PM armyofevilrobots: Also: > "it should have been set to 0666"
11:25 PM armyofevilrobots: No, just no. ;)
11:25 PM rue_mohr: oh cmon, just an eps file
11:25 PM rue_mohr: its not 777
11:26 PM rue_mohr: the 2port 1G card I got runs kinda hot, hope that it's good
11:27 PM armyofevilrobots: Offload? Weird.
11:27 PM rue_mohr: ?
11:28 PM armyofevilrobots: Some nics have offload features that might need a fair bit of compute going on. Wondering if that's it.
11:28 PM armyofevilrobots: Is it an intel pro/1000 ?
11:29 PM rue_mohr: yes, context, its a dual 1G card with a pci (not pcie) interface
11:29 PM armyofevilrobots: <shrug /> Run it til it dies IMHO.
11:30 PM rue_mohr: I got some single port cards
11:30 PM rue_mohr: I didn't notice the slightly cheaper 2 port card till I'd just ordered the 3 single port cards
11:30 PM rue_mohr: ali
11:30 PM rue_mohr: so I checked them all before I installed em
11:30 PM rue_mohr: none blew up the test computer :)
11:31 PM armyofevilrobots: Lots of second tier binning stuff ends up on aliexpress I've noticed.
11:33 PM rue_mohr: I told myself I'd regret it, but its not like I can go to newegg and buy a pci network card .... can I?
11:33 PM rue_mohr: ...
11:33 PM rue_mohr: :)
11:33 PM rue_mohr: anyhow, the internet speed doubled
11:34 PM rue_mohr: 9->18MB
11:34 PM armyofevilrobots: Success then!
11:34 PM rue_mohr: I'd say so
11:34 PM armyofevilrobots: Just finished soldering up that KB. Taking the rest of the night off, updating firmware and testing tomorrow.
11:34 PM rue_mohr: if I want more bandwidth, I should upgrade the router from a p1
11:34 PM rue_mohr: nice
11:35 PM armyofevilrobots: Who is your provider for inet?
11:35 PM rue_mohr: so, what firmware were you working with
11:35 PM rue_mohr: you metioned lots of corrections
11:35 PM rue_mohr: telus fiber
11:35 PM rue_mohr: so, should peak 300mbits
11:35 PM armyofevilrobots: I am using MK32. https://github.com/Galzai/MK32
11:35 PM armyofevilrobots: Yeah, I am on the same (telus fiber)
11:36 PM armyofevilrobots: Bugs were mostly just here: https://github.com/Galzai/MK32/blob/master/main/matrix.c#L197
11:36 PM rue_mohr: did you post the fixes and issue a push request?
11:36 PM rue_mohr: pull
11:36 PM rue_mohr: how does this work again? :)
11:36 PM armyofevilrobots: Not yet, there are some more subtle bugs I wanna fix first, but that's the plan.
11:37 PM armyofevilrobots: I fork, make a branch with fixes in my fork, issue pull request, they merge that up.
11:37 PM armyofevilrobots: Which basically describes my entire life for the last 3 years.
11:37 PM rue_mohr: if their alive :)
11:38 PM armyofevilrobots: Yeah, that.
11:38 PM armyofevilrobots: No activity since May on that account.
11:38 PM * rue_mohr hands armyofevilrobots a flag "New head"
11:38 PM armyofevilrobots: Hahahaha.
11:39 PM armyofevilrobots: Nope nope nope. Maintainer is a thankless and brutal job.
11:39 PM rue_mohr: I'm tyring to parse what their doing here...
11:39 PM rue_mohr: they are seriously storing the millis for debounce?!?
11:39 PM armyofevilrobots: side-note; FreeRTOS on ESP32 is pretty neat. Batteries are _very_ included.
11:40 PM armyofevilrobots: Free as in beer multi-threading/tasking on a $4 part is pretty amazing.
11:40 PM rue_mohr: ok, I suppose they dont need to be fast, but seriosly scanning thru all the columns....
11:41 PM rue_mohr: and rows.... what...
11:41 PM armyofevilrobots: Meh, 72 GPIO checks is so fast that it doesn't even make a dent on the background webserver and bluetooth tasks.
11:41 PM rue_mohr: yes, its a keyboard, I can grant that... but...
11:42 PM armyofevilrobots: If you really wanna get fancy you can multiplex, but I have three total parts on this thing (outside the switches and diodes), and that includes the battery.
11:43 PM rue_mohr: how many rows and cols is it set up with?
11:43 PM rue_mohr: (not inc, combo keys)
11:43 PM armyofevilrobots: 6 rows, 12 cols.
11:43 PM armyofevilrobots: Row 6 is actually a thumb cluster.
11:43 PM rue_mohr: then the shift/ctrl/etc are seperate?
11:43 PM armyofevilrobots: Nope, they're just keycodes like everything else.
11:43 PM rue_mohr: hmm, well your diodes sort that out
11:44 PM armyofevilrobots: Yeah. Crazy how some KBs save $ by skipped those.
11:44 PM rue_mohr: is the firmware locked to using doides then?
11:44 PM armyofevilrobots: Yeah, there is a config of COL2ROW or ROW2COL that sets the current direction. The OP used COL2ROW, but I did the other way around, and am apparently the first person to ever exercise that code.
11:45 PM rue_mohr: :) heh
11:45 PM armyofevilrobots: I guess you could skip diodes, but it would behave... funny...
11:45 PM armyofevilrobots: And when you're spending 0.30$/switch, a nickel for a diode is hardly a big jump.
11:45 PM rue_mohr: it can be sorted out till you get too many keys at once
11:46 PM rue_mohr: indeed
11:46 PM rue_mohr: hmm
11:46 PM rue_mohr: do you know the scan rate?
11:48 PM rue_mohr: something about that debounce code seems wrong
11:48 PM armyofevilrobots: I don't actually. It's debounced and runs in a loop in a task, but I don't think I found the rate.
11:49 PM armyofevilrobots: It's a list of keys that were pressed with timestamps for last state change. It's workable.
11:49 PM rue_mohr: yes, cause its fromt eh last change
11:49 PM rue_mohr: so its odd cause its not fromt eh first event
11:49 PM rue_mohr: its from the last stable event
11:50 PM rue_mohr: usually your take the first event and lockout for a time period
11:50 PM rue_mohr: that gets you past the grinding time
11:51 PM armyofevilrobots: <shrug/>
11:51 PM rue_mohr: I think its just semantics
11:52 PM rue_mohr: I wonder how long I should give the network cards to settle in before I give my main machine its new tripplehead monitor
11:52 PM rue_mohr: card
11:52 PM armyofevilrobots: When I was playing with it earlier, I didn't see any bouncing related issues. If I run into any, I'll dig into it.
11:53 PM armyofevilrobots: Triple monitors are a RIGHT NOW kinda thing :D
11:53 PM rue_mohr: I think it would be ok, its atypical
11:53 PM rue_mohr: I have to kernel this that, driver, Xconfigure, bla bla
11:53 PM rue_mohr: so, I can wait a bit
11:53 PM rue_mohr: besides
11:53 PM rue_mohr: zippo:/files/programming/c/romctrl4# uptime
11:53 PM rue_mohr: 21:47:05 up 314 days, 11:41, 0 users, load average: 1.18, 1.44, 1.55
11:54 PM armyofevilrobots: You hit PI days, you can reboot now.
11:54 PM rue_mohr: hahahaha
11:54 PM rue_mohr: and I thought it wasn't open till 365
11:55 PM rue_mohr: my hard drives have 89 start-ups in 75672 hrs
11:55 PM rue_mohr: sorry wrong value
11:55 PM rue_mohr: my hard drives have 87 power cycles in 75672 hrs
11:56 PM armyofevilrobots: SMART?
11:56 PM rue_mohr: yup
11:56 PM rue_mohr: hmm 10 restarts a year, whats awefull
11:57 PM armyofevilrobots: That's...
11:57 PM armyofevilrobots: Do you have some magic trick to make drives last that long?
11:57 PM rue_mohr: :) I get "good" ones
11:57 PM rue_mohr: and never spin them donw
11:57 PM armyofevilrobots: I have _1_ drive that old.
11:59 PM rue_mohr: the drives in the shop server are twice as old, but its counting in minutes and went wrong