#avr Logs

Jun 19 2017

#avr Calendar

12:50 AM BongoShaftsbury: think i'm using gfx_mono_draw_char wrong
12:52 AM BongoShaftsbury: i keep getting expected expression before ')' when i try to build
12:52 AM polprog: syntax..
12:52 AM polprog: you can post the code
12:52 AM BongoShaftsbury: gfx_mono_draw_char('c', 0x00, 0x00, *USE_FONT_BASIC_6x7);
12:52 AM polprog: is USE_FONT_BASIC_6x7 a macro?
12:52 AM BongoShaftsbury: it's in the font library
12:52 AM BongoShaftsbury: sysfont.h
12:53 AM BongoShaftsbury: https://ghostbin.com/paste/2f83p
12:53 AM BongoShaftsbury: that's conf_sysfont.h
12:55 AM polprog: thats because use font basic 6x7 is an empty macro
12:55 AM polprog: look at
12:56 AM polprog: line 1055
12:57 AM polprog: so your invocation is ('c', 0x00, 0x00, );
12:57 AM polprog: and it gives the error
12:57 AM eszett: hi
12:58 AM polprog: o/
12:58 AM BongoShaftsbury: i see
12:58 AM polprog: :)
12:58 AM BongoShaftsbury: then i'm confused about where the font is located
12:59 AM polprog: its the huge array starting in 1070
12:59 AM eszett: I'd like to embed a trackpoint in my circuit, my question is, where can I find reference/documentary about what C's, R's I need and where to put them? The datasheet doesn't provide that information https://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwjgifrHlsnUAhVGalAKHWvnBYoQFggoMAA&url=http%3A%2F%2Fsprintek.com%2Fdocuments%2Fdatasheets%2FDS0013_SK8702_Datasheet.pdf&usg=AFQjCNGE2gRUf6s8I8h-IaI2UDPRFjycWg
12:59 AM polprog: BongoShaftsbury: its in progmem
01:02 AM BongoShaftsbury: okay so somewhere in progmem there's a huge array of uint8_t
01:02 AM polprog: yeah
01:02 AM polprog: id look for some example uses
01:02 AM polprog: how other methids supply that font
01:03 AM polprog: methods*
01:08 AM BongoShaftsbury: FONT_LOC_PROGMEM
01:09 AM polprog: yeah, that should do the trick
01:11 AM BongoShaftsbury: hmm not printing though
01:19 AM BongoShaftsbury: &sysfont
01:19 AM BongoShaftsbury: works
01:23 AM polprog: good
01:24 AM polprog: :)
01:54 AM xentrac: BongoShaftsbury: oh great, they gave you an already working driver? fantastic!
02:05 AM BongoShaftsbury: thanks
03:04 AM Jartza_ is now known as Jartza
08:01 AM LOMAS: http://imgur.com/a/EUOvh How much clock cycle it consumes ?
08:01 AM LOMAS: On my calculation it takes 1351
08:03 AM LOMAS: 2 + 80 * (1+2+1+1+) + 40 * (1+1+1+1+1+2) + 5
08:42 AM ub|k is now known as ub|k[m]
08:43 AM ub|k[m] is now known as uu
08:44 AM uu is now known as ub|k[m]
08:45 AM ub|k[m] is now known as ub|k
08:52 AM CipherWizard is now known as CWiz
09:02 AM Emil: LOMAS_: I assume $40 and $80 are hex constants, 64 and 128
09:11 AM Emil: keep in mind that 128 is the same as -128
09:16 AM polprog: oh look a delay loop :V
09:16 AM Emil: :D
09:17 AM Emil: It is not possible to squeeze but 255^2 loops out of two 8 bit numbers
09:17 AM Lambda_Aurigae: you can get more than that.
09:17 AM Lambda_Aurigae: use one as the outside loop and make 2 or 4 or 8 or more inside loops.
09:17 AM polprog: you can put a couple nop in between
09:17 AM polprog: https://imgur.com/gallery/baP6H
09:18 AM polprog: i dont get the mov-or part
09:18 AM Emil: polprog: that's stilla max of 65355 loops
09:18 AM Emil: Lambda_Aurigae: do share how
09:18 AM Lambda_Aurigae: not nested inside loops
09:19 AM polprog: yeah, that makes sense
09:19 AM Emil: One can add nops or repeat the structure
09:20 AM polprog: generally if you need more precise stuff you should go for a timer
09:20 AM Emil: but out of 2 8 bit numbers you can only have 65355 unique states so only 65535 loops
09:21 AM polprog: you have 32 registers :v
09:21 AM Lambda_Aurigae: for(a=0;a++;a<255){for(b=0;b++;b<255); for(b=0;b++;b<255); for(b=0;b++;b<255)}
09:22 AM rue_house: er, broken
09:22 AM Lambda_Aurigae: probably.
09:22 AM Emil: Lambda_Aurigae: that doesn't work
09:22 AM rue_house: AND there should be an innmost NOP
09:22 AM Emil: rue_house: nope
09:22 AM rue_house: or the compiler may get rid of it all depending
09:22 AM Emil: it usually does not
09:22 AM Lambda_Aurigae: for(a=0;a++;a<255){for(b=0;b++;b<255){nop;} for(b=0;b++;b<255){nop}; for(b=0;b++;b<255){nop};}
09:22 AM rue_house: no
09:22 AM rue_house: innermost
09:23 AM Emil: Lambda_Aurigae: stacking like that does not work :D
09:23 AM rue_house: Emil, unless -O is set higher than like 1
09:23 AM polprog: doing this stuff in C not as an volatime __asm__ is masochism
09:23 AM Lambda_Aurigae: you get loops of B for each loop of A
09:23 AM polprog: different version of the compiler
09:23 AM polprog: and everything craps out
09:23 AM polprog: different options even
09:23 AM Lambda_Aurigae: yeah, I could have done it in assembly,,the point was to show putting 3 inner loops in one outer loop with 2 variables.
09:24 AM rue_house: for(a=0;a++;a<255) for(b=0;b++;b<255) for(c=0;c++;c<255) for(d=0;d++;d<255) NOP();
09:24 AM Lambda_Aurigae: with mine, you get 3 sets of 0-255 for each outer loop.
09:24 AM polprog: yeah
09:24 AM rue_house: ooooh
09:24 AM rue_house: you weren't.... k.. huh
09:24 AM Emil: Lambda_Aurigae: nope
09:24 AM Emil: Lambda_Aurigae: your version does not work
09:24 AM Lambda_Aurigae: why not?
09:25 AM rue_house: it would be 65k*(56k*3)
09:25 AM rue_house: it should work, its just not done the same
09:25 AM Lambda_Aurigae: it doesn't give you 255*255*255*255....it gives you 255*(255+255+255)
09:26 AM Emil: Lambda_Aurigae: pls
09:26 AM rue_house: the var sin't 16 bit?
09:26 AM Lambda_Aurigae: please explain why that won't work.
09:26 AM Emil: how can you not see it?
09:27 AM Lambda_Aurigae: other than my syntax error of putting a ; in the wrong place.
09:27 AM Lambda_Aurigae: well, 2 of them.
09:27 AM Emil: Lambda_Aurigae: repeating structures is not allowed
09:27 AM Emil: it's the same as adding nops
09:28 AM Emil: you are using the program counter as additional bits
09:30 AM Emil: polprog: dat gif is pretty nice
09:30 AM Emil: Hmm
09:30 AM Emil: I wonder how many hours it would take me to repeat it using a terminal
09:31 AM polprog: libcaca ftw
09:31 AM Emil: THat's chaeting
09:31 AM polprog: :P
09:31 AM Emil: Hmm
09:32 AM Emil: I could have an avr print it through a serial port
09:32 AM Emil: on a vt100 compatible terminal
09:32 AM polprog: into an OKI serial printer
09:32 AM polprog: *dot matrix printer
09:32 AM Emil: now that
09:32 AM Emil: would be pretty nice
09:32 AM polprog: i have one
09:32 AM polprog: but no working paralell card yet
09:33 AM Emil: Hmmm
09:33 AM Emil: Gah
09:34 AM Emil: I almost started on writing a picture -> to c structure genreator
09:34 AM polprog: hae you thought about writing a clone of minix yet?
09:34 AM polprog: s/minix/unix/
09:35 AM Emil: :D
09:35 AM Emil: "Yes"
09:35 AM Emil: but I'm not stupid enough
09:37 AM Emil: Hmm
09:37 AM Emil: I wonder what the bet way to push data to a termina lis
09:38 AM polprog: i could implement that gif on polrpog.net:1337 telnet
09:38 AM Emil: terminal is*
09:38 AM polprog: serial?
09:38 AM Emil: No I mean
09:38 AM Emil: in C
09:38 AM Emil: if you print something
09:38 AM polprog: putchar
09:38 AM polprog: if you want to use escape codes like position, color etc
09:38 AM Emil: polprog: listen here I'm trying to give background info :D
09:38 AM polprog: kk
09:38 AM Emil: :D
09:38 AM polprog: :D
09:38 AM Emil: So
09:39 AM Emil: Updating the whole screen you can achieve a pretty nice speed of around 30fps through an ssh terminal
09:39 AM Emil: but there's tear
09:40 AM Emil: if one only updates smaller sections of the screen then moving the cursor around is way more efficient
09:42 AM Emil: There's an overhead of "\e[Y;X" so 1+1+{1,3}+1+{1,3} for every cursor move
09:42 AM Emil: that's bytes
09:42 AM Emil: so at most 8 bytes
09:42 AM LeoNerd: You forgot the 'H' byte
09:42 AM Emil: Ah
09:42 AM Emil: yeah
09:42 AM Emil: 9 bytes
09:42 AM polprog: https://youtu.be/AUTzYlH3sJc?t=1m45s
09:42 AM LeoNerd: But also moves within a given row/column can be done more efficiently
09:42 AM LeoNerd: Also moves to the start of a given row also
09:42 AM rue_house: DELAY1: PUSH #DELAY1, DELAY2: PUSH A, LDA #255, DELAY3: CALL DELAY2, DECA, JNZ DELAY3, POPA, RETURN :)
09:42 AM LeoNerd: Also lots and lots of other optimsations :)
09:42 AM Emil: Lambda_Aurigae: yeah I know
09:42 AM Emil: LeoNerd: *
09:43 AM polprog: moves withina row are literally just writing more than one char
09:43 AM LeoNerd: You can also do relative moves from the current location if that'd be fewer bytes
09:43 AM polprog: you can
09:43 AM polprog: ?
09:43 AM LeoNerd: CSI A/B/C/D are directional relative moves
09:45 AM Emil: LeoNerd: do you know if there's something like freeze and update screen?
09:45 AM LeoNerd: What would that do?
09:45 AM Emil: LeoNerd: prevent tearing
09:45 AM LeoNerd: Oh, I think I see. Yah; nothing I'm aware of
09:45 AM LeoNerd: Most current terminals will sortof do that if the incoming byte stream is fast enough though
09:45 AM Emil: Since printing the whole screen worth of bytes causes tearing
09:45 AM LeoNerd: e.g. libvterm/pangoterm does
09:45 AM LeoNerd: But you don't get application-level control over it
09:46 AM rue_house: http://paste.debian.net/972192/
09:46 AM rue_house: ^^
09:47 AM rue_house: some of those ascii codes are fun to find
09:47 AM Emil: They are all documented quite wel
09:47 AM LeoNerd: Eh; that's just SGR
09:47 AM Emil: I wish most temrinals supported pixel based drawing
09:48 AM rue_house: Emil, I'm glad you were able to find it all ok
09:48 AM LeoNerd: Emil: "what's a pixel"?
09:48 AM rue_house: a pixel is a custom rendered character is a 5x7 dot area
09:48 AM rue_house: ;)
09:48 AM LeoNerd: 5 by 7, you say? :)
09:48 AM Emil: LeoNerd: similar to how most support getting size with a command
09:48 AM polprog: lol, it's not 44hd7880
09:48 AM polprog: my glyphs are HD
09:49 AM polprog: ;)
09:49 AM rue_house: hah
09:49 AM Emil: LeoNerd: it would be nice to get pixel size
09:49 AM LeoNerd: Yah.. -technically- TIOCGWINSZ can also report on pixel sizes too
09:49 AM rue_house: yea, ONLY 8 CUSTOM CHARACTERS FOR YOU!
09:49 AM LeoNerd: Most terminals do't bother to fill in those fields, so you get zeroes
09:49 AM LeoNerd: Also, consider the complications of things like terminal multiplexers, or terminals with dynamic font selection
09:50 AM rue_house: those ascii codes were a challange, it was said to be easy, but lots of documented things didn't work
09:50 AM LeoNerd: Those are all really basic ones, those should be supported justabout anywhere
09:51 AM rue_house: and there was missing info in lots of the docs I read, I used my DOS knowledge for bits of it
09:51 AM rue_house: yea
09:51 AM LeoNerd: Yah; DOS's ANSI.SYS isn't really correct though
09:51 AM LeoNerd: I wouldn't rely on it ;)
09:51 AM LeoNerd: Go find some DEC documents... the VT1xx/VT2xx/VT3xx at least
09:51 AM rue_house: I wrote firmware for my USB pwoer supply that gives you a terminal
09:51 AM LeoNerd: also xterm, also my libvterm and libtickit.. Or yaknow just ask me ;)
09:52 AM rue_house: that way you dont need computer side software
09:53 AM rue_house: http://ruemohr.org/~ircjunk/projects/newpower/Interface.png
09:54 AM rue_house: http://ruemohr.org/~ircjunk/projects/newpower/p1050856.jpg
09:55 AM rue_house: parts of the project weren't playing nice, I'm not done yet
09:56 AM rue_house: oh I'm so late to get going for work...
09:56 AM Emil: rue_house: nice
09:56 AM rue_house: If I'm gonna restart the regulator design, I really should make it isolated output...
09:57 AM rue_house: thanks
09:57 AM Emil: :D
09:57 AM Emil: Yeah, you should
09:58 AM rue_house: I learned a LOT about how to do high speed pwm
11:18 AM polprog: im ordering stuff from tme
11:19 AM polprog: do you think stm32f030c8t6 is good for messing around?
11:19 AM polprog: nvm
11:19 AM polprog: out of stock, do you think stm32f030 would be good?
11:20 AM LeoNerd: You're asking about STM32s in #avr? ;)
11:20 AM polprog: well
11:20 AM polprog: yeah
11:20 AM polprog: ;)
11:20 AM Emil: polprog:
11:21 AM Emil: mate
11:21 AM Emil: buy the nucleo, costs 10€ :D
11:21 AM Emil: Or
11:21 AM specing: polprog: I have 072RB, cheapest with USB that can be had on a discovery kit
11:21 AM LeoNerd: I have one of those STM32F103 boards, still not got aroudn to using it yet though
11:21 AM Emil: Or
11:21 AM Emil: buy the bluepills
11:21 AM LeoNerd: But other than that, not really played with anything outside AVR8
11:21 AM polprog: im buying a bare chip
11:21 AM polprog: or thinking about buying
11:21 AM Emil: you shouldn't but eh
11:22 AM polprog: maybe youre right, ill order a blue pill board
11:22 AM Emil: eBay/Aliexpress/banggood GET
11:22 AM Emil: unless you want it suuuper quick
11:22 AM Emil: also buy the stlinkv2
11:24 AM polprog: thanks for the info, will get one
11:31 AM specing: Emil: any recommended seller?
11:34 AM bss36504: I was looking at some of the STM32 stuff recently too, though I think I want to try my hand at an application processor design (ie, Cortex-A with linux and the whole nine) but I'm not sure
11:34 AM specing: bss36504: try ARM9, much simpler
11:34 AM bss36504: The STM32 M7 stuff looks pretty legit. That might cover what I want to do also.
11:34 AM bss36504: Why is ARM9 simpler?
11:35 AM specing: ATMEL AT91 are avaible in TQFP-208 and stuff
11:35 AM specing: bss36504: because its old, d'oh
11:35 AM bss36504: ok yeah I thought so
11:35 AM bss36504: I'm definitely spooked on moving away from a microcontroller though
11:36 AM LeoNerd: I might have to play with an STM32 sometime, ifwhen I find I can't fit something on an ATmega. I suspect that'll happen if I try using a larger OLED module than the 128x64x1bpp things I have now
11:36 AM bss36504: I have a hard enough time getting complex microcontroller boards working properly, I can't imagine having to deal with external memory too
11:37 AM bss36504: I'd like to try designing a GPS similar to a Garmin Zumo 660. I have one of those garmins, but it routinely pisses me off and if I didnt get such a screaming deal on it I wouldnt have bought it
11:37 AM specing: I have an AT91SAM9260 (in TQFP-208) board with two 32MB TSSOP sdrams
11:37 AM specing: even power is a simple LDO
11:37 AM specing: super simple board heh
11:38 AM bss36504: I think I'd need more speed, though I'm not sure
11:38 AM bss36504: I'd have to/Like to render raw geographic data
11:38 AM bss36504: This project is also still way off in the horizon
11:38 AM bss36504: I'm just contemplating things as of now
11:39 AM polprog: that's a cool project
11:40 AM bss36504: It could be, it could also be a giant PITA. The thing is, using the garmin shit that's out there (which is the best on the market) still annoys me to no end. Their PC software is fucking garbage, the GPS UI is clunky, and the fuckin thing cost $450. It's obscene
11:40 AM bss36504: The unit would need to be rugged/weatherproof, since that particular model is primarily used for motorcycling. I take mine on my dirtbike offroad and use it on the street when I need it
11:41 AM specing: bss36504: well...why not just take a 100 eur phone and use that as gps?
11:41 AM bss36504: Trails
11:41 AM bss36504: I'd be afraid to break a phone, and sometimes you don't have service.
11:41 AM bss36504: Also, there are certain things that eg. google maps cant route the way you route for trail riding
11:41 AM bss36504: ie, if it's not a road, google maps can't see it
11:42 AM specing: then use OpenStreetMaps
11:42 AM specing: with osmand hiking mode
11:43 AM specing: or with brouter for bicycle
11:43 AM bss36504: One of the biggest reasons to use a standalone gps is that you can create custom "tracks" with waypoints and load them in. A big limitation, at least with garmin's system, is that you cant have a track that is also routable, because a track is simply a bunch of points.
11:43 AM bss36504: yeah I use the OSM maps in the garmin
11:43 AM bss36504: and the garmin does have modes and understands the custom tracks. I certianly could make this into a phone app idea as well, and maybe that's the more responsible choice.
11:44 AM bss36504: It does beg the question, with smartphones, what is the need for standalone GPS units?
11:45 AM bss36504: Another reason not to use a phone is that the capacitive touch screens are not the best for a) wet situations like riding in the rain, and b) gloved hands. The Zumo has a resistive screen which is actually kind of nice
11:54 AM enhering: cehteh: Can I ask you for some advice on a motor? Can I make a copter with four of these? https://hobbyking.com/en_us/hobbyking-donkey-st3511-810kv-brushless-power-system-combo.html
11:55 AM * cehteh is busy wait a bit
11:56 AM enhering: Sorry.
11:58 AM Emil: specing: for bluepill/stlinkv2? Cheapest with most purchases :D
12:09 PM specing: Emil: try multirotor wiki
12:09 PM specing: enhering: ^
12:09 PM specing: they have some builds on there
12:09 PM specing: r/multirotor or something
12:11 PM cehteh: enhering: the donkey are absolutely unuseable
12:12 PM cehteh: no bearings, low efficiency
12:13 PM cehteh: you want multirotor prop mounts too
12:13 PM cehteh: (no protruding axle)
12:13 PM enhering: Thanks a lot
12:14 PM enhering: It seemed a powerful low rpm option.
12:16 PM enhering: Thanks, specing. I'll visit the page
12:18 PM enhering: Thanks again, cehteh
12:24 PM LOMAS: can anybody tell me about the content of R24 and R25 at the end ?
12:24 PM LOMAS: https://drive.google.com/open?id=0BxdfyqCS1bHTeENOM0RNNGJPV2s
12:27 PM cehteh: feels like a quiz :D
12:34 PM bss36504: 42
12:36 PM LOMAS: bss36504, is it 42 in both the registers ?
12:37 PM bss36504: no I'm just messing with you. Is this homework/quiz?
12:37 PM bss36504: What do you think the answer is?
12:50 PM * LeoNerd ponders API for a background-asynchronous I²C driver
12:50 PM LeoNerd: So... backgroundish UART TX has an interrupt/event/... for "the transmit buffer is empty", so you can refill it while the UART is shifting it out, to keep the pipeline nice and warm all the time. This is good
12:51 PM LeoNerd: Now, would you do similar for I²C sendig? On the one hand it'd be nice, especially at 400kHz, not to have to incur interrupt latency at the end of sending a byte, before you get the next one ready. But... I²C has a concept of "success" after sending a byte - whether the receiver ACK'ed it
12:51 PM LeoNerd: So maybe the interrupt would want to know this before it decided..
12:56 PM eszett: I have a question, what is the UCAP pin good for?
12:56 PM LeoNerd: The USB decoupling cap?
12:56 PM eszett: I neither connect it to GND nor to VCC right
12:56 PM LeoNerd: I believe it's part of the internal power regulator for USB
12:56 PM eszett: USB decoupling? hmm
12:57 PM LeoNerd: This is a 32U4?
12:57 PM eszett: ye
12:57 PM LeoNerd: 2.2.12
12:57 PM LeoNerd: UCAP
12:57 PM LeoNerd: USB Pads Internal Regulator Output supply voltage. Should be connected to an external capac-
12:57 PM LeoNerd: itor (1μF).
12:57 PM LeoNerd: ... fuck you PDF for your stupid linefeeds :(
12:57 PM LeoNerd: Anyway, ya the datasheet explains that
12:58 PM eszett: ah. so the VBUS cap is to calm down voltage that is coming in, and the UCAP cap calms voltage that is going out of the MCU
12:58 PM eszett: com pe li ca ted
12:59 PM LeoNerd: USB is Fun
12:59 PM LeoNerd: The decision to supply power at 5V but operate the IO lines at 3.3V basically forces /everyone/ to have a 5->3.3V regulator, but at least means you get your choice of running the peripheral at 5 or 3.3
01:00 PM bss36504: Well also you can supply more juice on smaller wires at 5V vs 3.3, but that might be negligible.
01:00 PM eszett: err, i thought the atmega32u4 pins (.e.g when connecting a simple LED) is operated at 5v
01:01 PM LeoNerd: They do
01:01 PM eszett: ah ok
01:01 PM LeoNerd: ATmega chips dont' have split IO voltage domains, so the entire chip runs at one voltage
01:01 PM eszett: good for beginners like me
01:01 PM LeoNerd: This makes USB more complicated, because /USB/ says the IO lines have to be 3.3V
01:01 PM bss36504: eszett: Be sure to *carefully* inspect the schematic for the USB hookup in the datasheet. It is subtly different depending on the configuration you're going for.
01:02 PM bss36504: Made that mistake once, had to cut and jump. It was an easily avoided mistake too, just gotta RTFM
01:02 PM eszett: ye, I'm failing my way through success since 1 year now :-)
01:03 PM LeoNerd: bss36504: my first ever PCB required a cut-and-patch with kynar
01:04 PM bss36504: yeah I've got stacks of cut and jumped PCBs. Though in this age of cheap, fast, high quality PCBs, I tend not to fret about mistakes. My first rev is always going to have mistakes, I've just accepted that
01:04 PM LeoNerd: Ohsure. But useful to fix it to check "yes this will work now"
01:04 PM bss36504: Oh absolutely,
01:05 PM LeoNerd: I have a PCB that reminds me "check the goddamn connector footprints"
01:05 PM LeoNerd: :)
01:05 PM bss36504: I wasnt suggesting not to try and get it working
01:05 PM LeoNerd: I papertest things now
01:05 PM bss36504: That's a good idea, and I never remember it
01:05 PM LeoNerd: Infact, that's most of the reason I bought a printer
01:05 PM bss36504: Could have saved myself a mistake where a AC/DC converter module had their pad layout looking from the bottom in the datasheet. Who does that!?
01:07 PM LeoNerd: Ahhhhyes that one :)
01:07 PM LeoNerd: "view from the bottom".. is that a Murata?
01:07 PM bss36504: MeanWell
01:07 PM LeoNerd: Mm.. I believe I have the same datasheet
01:07 PM bss36504: Tiny text saying "shown from bottom" or something
01:07 PM LeoNerd: Oh. no mine is Mornsun
01:08 PM LeoNerd: But yes I think those are made by allsorts of people now... same idea
01:08 PM bss36504: Pretty sure it was an IRM-something something 05
01:08 PM bss36504: just a fully integrated 1W 5V converter
01:09 PM bss36504: Didnt feel like rolling my own, but next go round I'll probably just throw a transformer on the board. I want to sample the AC anyway, and the circuitry uses such little power, the transformer and rectifier would probably be smaller than the module
01:09 PM LeoNerd: Yah... everyone makes those
01:09 PM LeoNerd: They're Murata clones
01:54 PM polprog: LeoNerd: lol, i make my protos with kynar
03:29 PM LeoNerd: polprog: https://twitter.com/cpan_pevans/status/876604895884967936 https://twitter.com/cpan_pevans/status/876606111666843650 I made this yesterday
03:30 PM polprog: nice
03:30 PM LeoNerd: That little 1G logic gate on the back was... not easy :)
03:31 PM LeoNerd: Not shown here: the two chips I failed and pulled legs off by mistake while doing that
03:32 PM polprog: oh
03:32 PM polprog: i didnt click the second link
03:32 PM polprog: wow, that's impressive
03:32 PM polprog: i dont really like those copper stripboards
03:33 PM LeoNerd: Yah, it's not the best for sub-0.1" stuff
03:33 PM polprog: they are cheap but i'm more a fan of this for example
03:33 PM polprog: http://static1.tme.eu/products_pics/d/9/c/d9c4e98d13dfa327b5c98d7e00f933a0/32953.jpg
03:33 PM polprog: i made 2 prototypes on that already
03:33 PM polprog: and it's sub-$2 price
03:33 PM polprog: here
03:33 PM polprog: absolutely amazing
03:34 PM LeoNerd: Ooh, that's interesting stuff. It's like protoboard but has some patterns on it
03:34 PM polprog: it's great
03:35 PM polprog: there are other versions of that too
03:36 PM polprog: http://www.majstar.com.pl/?t=katalog
03:36 PM polprog: scroll down, MS-DIP/SMD3 has some TQFP breakouts
03:37 PM polprog: sidenote, looks like you all have some kind of twitter/yt setup :P
03:37 PM LeoNerd: Yah; special-purpose breakouts can be good, if your project needs one tiny-size chip on an otherwise DIP-compatible design
03:39 PM polprog: the tiny assembler breakout board is fully smd on that very board
03:41 PM polprog: also, nice lab
03:41 PM polprog: a bit bigger/tidier than mine :
03:41 PM polprog: :P
03:43 PM LeoNerd: It's a repurposed garage
03:43 PM LeoNerd: Well, quarter of. I might turn the next quarter into a proper wood shop
03:43 PM polprog: good
03:43 PM polprog: we need space for hobbies :P
03:43 PM LeoNerd: ... with a CNC mill
03:43 PM polprog: i could use one of those
03:43 PM polprog: like a tiny 20cm one :P maybe one day
03:43 PM LeoNerd: So could I. I'm wondering if I can run a service for people out of it, too
03:44 PM LeoNerd: Send me gcode and materials, I'll send you back the result
03:49 PM NoHitWonder^: whats your yt channel, LeoNerd ?
03:50 PM LeoNerd: My whatnow?
03:50 PM NoHitWonder^: do you have a youtube channel?
03:50 PM polprog: i could give you mine
03:50 PM polprog: it's on my site
03:50 PM LeoNerd: I do not
03:50 PM NoHitWonder^: oh
03:50 PM bss36504: LeoNerd: What kind of CNC mill did you have in mind?
03:50 PM NoHitWonder^: you were talking about your lab so i thought polprog watched your videos or something
03:51 PM LeoNerd: NoHitWonder^: No, I suspect saw photos on my twitter media
03:51 PM NoHitWonder^: ok
03:51 PM polprog: exactly
03:51 PM LeoNerd: bss36504: Ah.. now that's a fun question. I don't need the super-high torque metalwork mill, nor the super-high precision. But what I do want is a deep Z-axis working area.
03:51 PM NoHitWonder^: but sure polprog
03:51 PM bss36504: I've been spoiled on legit CNC machines and heavy manual milling machines and lathes, can't deal with the poor tolerances of "CNC routers". Fine for wood, not worth shit for anything precise or metal
03:52 PM NoHitWonder^: id like to see your channel
03:52 PM LeoNerd: A lot of mills I see are basically flatbeds, good for engraving flat sheets of material, but not so good for full 3D work.. or case milling, etc...
03:52 PM polprog: NoHitWonder^: polprog.ner
03:52 PM polprog: net*
03:52 PM polprog: the links there
03:52 PM polprog: not much on that channel yet
03:52 PM bss36504: LeoNerd: You'll have trouble getting much use out of a deep Z without a 4th axis or something.
03:52 PM NoHitWonder^: ok
03:53 PM bss36504: The geometry of anything tall would necessarily need to be tapered to allow the tool room to move.
03:53 PM LeoNerd: bss36504: Thing is, I don't need much Z-axis movement as such, just dead area. I want to be able to mill the faces of enclosures
03:53 PM LeoNerd: What I want is a flatbed gantry with gantry extension legs
03:53 PM bss36504: I guess I don't see how that's different than what the current routers do
03:53 PM LeoNerd: I'd only need maybe 30mm of tool *movement* but I need to be able to clear maybe 300mm underneath the tool
03:53 PM NoHitWonder^: im pretty sure i have used that same font
03:53 PM bss36504: Oh you just want to be able to put tall shit in it
03:54 PM bss36504: ok
03:54 PM LeoNerd: Yah
03:54 PM LeoNerd: So... I did manage to find a UK company that does a flatbed mill with two Y-axis leadscrews, one each directly under the gantry leg
03:54 PM bss36504: That seems reasonable. Check out ThisOldTony on YT, He did a pretty respectable gantry mill
03:54 PM bss36504: Not to mention, his channel is great in general
03:54 PM LeoNerd: That makes the entire bed hollow and empty. You can remove the topplates from the bed, to hang the material underneath it
03:54 PM bss36504: That's kinda neat
03:55 PM bss36504: However, if you just want to mill enclosure face plates, maybe make the face plates removable and dispense with the complex/less-rigid mill?
03:56 PM NoHitWonder^: do you guys order free sample parts from companies?
03:56 PM LeoNerd: Quite often I'm working on moulded plastic boxes
03:56 PM NoHitWonder^: i used to do that a lot
03:56 PM Lambda_Aurigae: NoHitWonder^, yup...
03:56 PM polprog: i maaged to get a row of flip-dots once :P
03:56 PM LeoNerd: Those don't come apart - they're all 5 sides in one
03:56 PM polprog: seven pixels!
03:56 PM Lambda_Aurigae: microchip, atmel, allegro-micro, fairchild, pac-tec, ti, maxim/dallas
03:56 PM NoHitWonder^: i have a whole collection of dallas/maxim parts
03:57 PM Lambda_Aurigae: I used to keep track...back 9 years ago I was at over 4000 dollars value retail.
03:57 PM NoHitWonder^: and ti too
04:00 PM Lambda_Aurigae: allegro-micro are good for motor driver chips and the like.
04:00 PM Lambda_Aurigae: I haven't done much in the samples world in a couple of years though.
04:00 PM Lambda_Aurigae: Nothing new really that I wanted to play with.
04:00 PM NoHitWonder^: dallas has(had) some nice digitally controlled potentiometers in dip packages
04:01 PM Lambda_Aurigae: last stuff I got was some maxim/dallas DMM chips and microchip pic32mx270f256b
04:01 PM Lambda_Aurigae: microchip has some nice little dip package digital pots too.
04:01 PM Lambda_Aurigae: and they have dip package 1Mbit serial srams...both standard and nvsram models.
04:02 PM bss36504: I used to work at Allegro, Lambda_Aurigae
04:02 PM Lambda_Aurigae: 8pin with the ability to do 1, 2, or 4 i/o at a time on the standard and 1 or 2 on the nvsram modules.
04:02 PM Lambda_Aurigae: bss36504, I made a lot of bots with allegro motor controller chips over the years.
04:03 PM bss36504: The power IC group had some neat stuff. I worked with integrated current sensors
04:03 PM bss36504: I was the test engineer for the ACS781
04:03 PM polprog: o you think they just send the off to every tom dick or harry or you need to be a serious company to get samples?
04:03 PM Lambda_Aurigae: polprog, depends on the company and how well you fib.
04:03 PM Lambda_Aurigae: microchip will send to anybody with an idea.
04:03 PM Lambda_Aurigae: others, not so much.
04:04 PM polprog: hmm
04:04 PM polprog: good to know
04:04 PM bss36504: Never hurts to ask
04:04 PM Lambda_Aurigae: TI used to be real good for hobby types but they cracked down on it.
04:04 PM Lambda_Aurigae: my TI account is old enough and I've bought enough bits from them directly that they send me stuff on occasion without me even asking.
04:05 PM polprog: nice
04:05 PM Lambda_Aurigae: they will send me a chip selection of a new device...3 of every package it's made in.
04:05 PM Lambda_Aurigae: I get those once or twice a year.
04:05 PM bss36504: that's sweet
04:05 PM bss36504: All about the hook-ups
04:05 PM Lambda_Aurigae: first one was the pcf8574.
04:05 PM bss36504: I can get basically any allegro part, at least
04:05 PM Lambda_Aurigae: I still have some of those too small for me to solder by hand.
04:05 PM LeoNerd: Ahh.. the good ol' 8574
04:05 PM LeoNerd: I have a box full of those in the workshop
04:05 PM Lambda_Aurigae: love those chips.
04:06 PM Lambda_Aurigae: they are expensive but damn are they nice...super simple to use and open drain.
04:06 PM LeoNerd: Yes.. It's basically an I²C version of a 595
04:06 PM LeoNerd: But you get reading for free :)
04:06 PM Lambda_Aurigae: yeah...I combined fleury's i2c and 16x2 lcd libs to drive LCDs with the 8574 chips.
04:07 PM LeoNerd: A 74'165 will read.. sortof.. but isn't truely SPI-compatible, and doesn't give you an interrupt on chnage
04:07 PM Lambda_Aurigae: 2 wires instead of 6 or whatever it is for the 4-bit mode.
04:07 PM LeoNerd: Prettymuch any project of mine these days ends up growing an 8574 to attach frontpanel buttons on, because I'm using I²C somewhere anyway so it's basically as many buttons as I want for a single extra INT pin
04:08 PM Lambda_Aurigae: I once did 16 of those chips on one bus...8 pcf8574 and 8 pcf8574a
04:08 PM LeoNerd: Mmmmm
04:08 PM LeoNerd: Aaaalll the IO
04:08 PM Lambda_Aurigae: tied all the interrupts together
04:08 PM Lambda_Aurigae: any pushy button would trigger a bulk read.
04:08 PM LeoNerd: Youknow you could get double that on a 328PB with its two I²C masters :)
04:08 PM Lambda_Aurigae: yup.
04:08 PM Lambda_Aurigae: don't have any of those though.
04:09 PM LeoNerd: I sell boards ;)
04:09 PM LeoNerd: ... though in fact I'm out of stock. Waiting on oshpark to glue 4 layers of copper together for me
04:09 PM Lambda_Aurigae: I still have stacks of avr chips I haven't used.
04:09 PM LeoNerd: My first 4layer :) A new design
04:09 PM bss36504: 4 layer for a PB?
04:09 PM Lambda_Aurigae: and mostly I do pic32 these days.
04:09 PM Lambda_Aurigae: ok...time to go look like I do some kind of work...laters.
04:10 PM LeoNerd: bss36504: Yeah.. It's a tiny "Arduino Nano"-sized board, the front is just the mega and timing crystal; on the back is a USB UART bridge and power regulator
04:10 PM LeoNerd: Also on the back of this new board is a set of unpopulated 0603-sized pads, to configure the other handshaking lines off the UART bridge onto other GPIO pins
04:10 PM bss36504: got a link?
04:10 PM LeoNerd: So I needed *all* the bottom layer for that. So instead I have to put signal routing on one of the inner layers
04:11 PM bss36504: why 0603 pads and not a more compact solder jumper?
04:11 PM bss36504: 0-ohm "resistors"?
04:11 PM LeoNerd: 220ohm
04:11 PM LeoNerd: in case of... accident :)
04:11 PM LeoNerd: Imean you can put 0ohm links in if you want but don't blame me if you melt one of the chips by hard-driving it both sides at once
04:12 PM LeoNerd: https://www.tindie.com/products/leonerd/atmega328pb-development-board/ -- is the project page, currently showing the first version of the board
04:12 PM LeoNerd: New one will be narrower and yet more features
04:14 PM bss36504: cool
04:14 PM bss36504: do you hand assemble them all/hand populate and reflow?
04:14 PM LeoNerd: Solder stencil, hand-place, hotair
04:15 PM bss36504: nice. Not so bad for small boards like that
04:15 PM LeoNerd: Small and low-volume
04:15 PM bss36504: OSHPark for Mfg?
04:15 PM LeoNerd: oshpark / oshstencil
04:16 PM LeoNerd: I did my first few projects without stencil, but having found just how cheap and easy they are to get, I tend to use them for everything now
04:18 PM bss36504: Oh yeah, stencils are a must if you are doing any real quantity, plus you can get the stencil and your boards at the same time
04:18 PM LeoNerd: I find it's not the time, so much, as the precision
04:19 PM LeoNerd: I have hand-soldered 0.5mm-pitch 2mm-square DFN8 chips before, using stencil. Totally impossible without
04:23 PM bss36504: Yeah, even with a paste syringe it's impossible to be precise enough to not have it splooge all over the place and short everything together
04:24 PM LeoNerd: Yah
04:25 PM LeoNerd: Actually I still get that sometimes with paste now, because some of my paste apatures are a little too big. There's a few problem pads I know on my boards, so sometimes I remember to wipe a little of the paste back off
04:30 PM NoHitWonder^: polprog i watched that maxim video
04:30 PM NoHitWonder^: i liked it
04:30 PM NoHitWonder^: you should make more
04:31 PM NoHitWonder^: you remind me of this ukranian guy who i used to watch on youtube
04:31 PM NoHitWonder^: cant remember his name
04:33 PM NoHitWonder^: he did avr stuff too
04:52 PM Emil_ is now known as Guest15146
04:53 PM JanC is now known as Guest92360
04:53 PM JanC_ is now known as JanC
04:59 PM LeoNerd: Hrm... I was going to make this next board on a 328P and have an isolated SPI and I²C area with some isolated GPIOs.. but suddenly I start to think about the 328PB and its dual SPI and I²C modules
04:59 PM Emil: Why 328p?
04:59 PM LeoNerd: Maybe I put SPI1 and TWI1 on there keeping the buses separate
04:59 PM Emil: use the 328pb mateyh
04:59 PM LeoNerd: Yah...
05:00 PM LeoNerd: That's what I'm thinking now
05:00 PM Emil: I mean
05:00 PM Emil: the 328pb is cheaper :D
05:00 PM Emil: Is code compatible
05:00 PM Emil: and has moar features
05:00 PM LeoNerd: Sure
05:00 PM LeoNerd: ... plus I already have some. Smaller parts inventory good :)
05:00 PM Emil: Sure, you have to fiddle with the toolchain a bit but that shouldn't be hard ;)
05:00 PM NoHitWonder^: it has a good dev kit
05:01 PM NoHitWonder^: only cost like 8 bucks and it has a debugger built in
05:01 PM Emil: link?
05:01 PM NoHitWonder^: wait a sec
05:01 PM Emil: Oh nice
05:01 PM Emil: Found it
05:01 PM Emil: XINI
05:01 PM Emil: XMINI*
05:01 PM NoHitWonder^: yeah
05:03 PM Emil: How much is the shipping from microshit direct?
05:03 PM Emil: Also
05:04 PM Emil: can anyone explain to me how to multiple pages/sheets in kicad eeschema?
05:05 PM LeoNerd: I thought I tried it once. It was a bit of work but I managed it
05:05 PM Emil: https://www.re-innovation.co.uk/docs/multiple-sheet-schematics-in-kicad/
05:05 PM LeoNerd: Can't recall how though
05:05 PM Emil: Seems really fucking convoluted
05:05 PM Emil: Even by kicad standards :D
05:08 PM Emil: Woop, ILDV2 was sent to fab
05:09 PM Emil: https://emil.fi/jako/kuvat/2017-06-20_00-39-09_LPk3c5j6.png
05:09 PM Emil: https://emil.fi/jako/kuvat/2017-06-20_00-39-19_GMzm4rdt.png
05:10 PM NoHitWonder^: do you have block diagram or something you can share?
05:12 PM Emil: It's just an ESP-12S talking to a m328pb talking to a t84a listening to a max9814
05:12 PM Emil: with some leds and a rotary encoder
05:13 PM Emil: Horribly routed
05:13 PM Emil: I gave almost zero fucks :D
05:14 PM Emil: Hmm
05:14 PM Emil: I should probably manually annotate the components
05:14 PM Emil: the auto annotator does a horrible job
05:51 PM toblorone: dumb question: I noticed in the arduino build system it calls avr-objcopy twice. eg: "avr-objcopy [opts] foo.elf foo.eep" followed by "avr-objcopy [opts] foo.elf foo.hex" and then uploads "foo.hex" with avr dude
05:51 PM toblorone: I don't understand the point of the first call. Does objcopy modify the input file?
05:55 PM Lambda_Aurigae: the .eep file is for loading into the eeprom
05:55 PM Lambda_Aurigae: the .hex file is for loading into the flash.
05:55 PM Tom_itx: thus the .eep extension
05:55 PM Lambda_Aurigae: some programs use data stored in the eeprom.
05:55 PM Lambda_Aurigae: the .eep file is basically a hex file.
05:56 PM Lambda_Aurigae: just like the .hex file.
05:57 PM Lambda_Aurigae: so that first call is extracting the eeprom data and putting it in ihex format for later loading to the eeprom.
05:59 PM toblorone: ok, so you think that the build system just generates the eeprom file regardless of whether it uses it or not?
05:59 PM Lambda_Aurigae: probably
05:59 PM Lambda_Aurigae: wouldn't surprise me with ardweeny crap
05:59 PM toblorone: yeah. I was writing a cmake file for it and I wasn't sure what the point of that step was
06:00 PM Lambda_Aurigae: it's called bloat
06:00 PM Lambda_Aurigae: ardweeny developers took many notes from microsoft developers.
06:00 PM toblorone: yeah, not my choice to be using arduino ; )
06:02 PM toblorone: i'm not really sure why it took off. there is nothing really attractive about the platform imo. you're kinda stuck in their crappy ide, they seem to try as hard as possible to hide details about the libraries etc from you
06:02 PM toblorone: i get that its targeted at beginners
06:03 PM Lambda_Aurigae: and the libraries are bloated worse than a beached whale in the middle of summer.
06:03 PM Emil: Hmm
06:03 PM Emil: How do I define that a thing is to be placed inside eeprom?
06:04 PM Lambda_Aurigae: specially that whole wiring thing.
06:04 PM Emil: toblorone: you always have a choice in not using arduino
06:04 PM Lambda_Aurigae: http://www.nongnu.org/avr-libc/user-manual/group__avr__eeprom.html
06:04 PM Emil: (the hal and ide)
06:04 PM Lambda_Aurigae: oh..wait...that's just accessing it.
06:04 PM Emil: Lambda_Aurigae: lol, you thought you had me there
06:05 PM Emil: toblorone: https://emil.fi/avr if you want to get started without the IDE
06:05 PM toblorone: Well I can't avoid using the HAL atm... As for the IDE thats why I'm writing a cmake file
06:05 PM Emil: toblorone: sucks to be you ;)
06:06 PM toblorone: ; ( it really does...
06:06 PM NoHitWonder^: uint8_t eedata[] EEMEM = { 1,2,3,4 }; quick google
06:06 PM Lambda_Aurigae: http://www.avrfreaks.net/forum/eep-file-creation
06:06 PM Lambda_Aurigae: there is an entry there a little ways down that shows how.
06:07 PM Emil: NoHitWonder^: yeah
06:07 PM Emil: http://www.embedds.com/accessing-avr-eeprom-memory-in-avrgcc/
06:08 PM Lambda_Aurigae: so, yeah, it was in my first link too.
06:08 PM Lambda_Aurigae: the EEMEM
06:08 PM Emil: hMM
06:08 PM Emil: But given that handling this becomes hard
06:08 PM Emil: I'd probably just do u8 EEMEM all[EEPROMSIZE]; :D
06:09 PM Emil: I wonder if I could tell the compiler where in eeprom to place the variable
06:09 PM cehteh: linker script
06:10 PM Emil: But that's cumbersome :/
06:10 PM cehteh: yes
06:10 PM cehteh: i rather include code to initialize eeprom if possible/codespace permits
06:10 PM cehteh: that allows cleaner recovery too
06:10 PM Emil: yeah
06:11 PM Emil: my point is that often you also want some piece of stuff to be autoamtically placed inside eeprom
06:11 PM Lambda_Aurigae: you can write data to specific addresses in eeprom..and read same.
06:11 PM cehteh: if (eeprom_uninitialized()) eeprom_initialize()
06:11 PM Emil: I am perfectly aware
06:12 PM cehteh: gcc can create a eeprom section which you can flash with avrdude, thats whats Emil talks about
06:12 PM cehteh: but there are too much shortcomings imo, i'd only use that if really required
06:13 PM cehteh: you can make this eeprom section the whole size of the eeprom space and not worry about addresses
06:13 PM Emil: yeah
06:13 PM Emil: That's what I'm thinking
06:14 PM cehteh: and there is a 'dont erase eeprom' on chip erase fuse
06:14 PM cehteh: whats its name?
06:14 PM Emil: It's an avr config
06:14 PM Emil: avrdude*
06:14 PM cehteh: nah its a fuse
06:14 PM Emil: Also a config
06:14 PM Emil: EESAVE=0
06:14 PM Emil: Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
06:15 PM Emil: If you want to have it fuse protected
06:15 PM cehteh: anyway i usually write eeprom round robin with version and checksum and maybe generation counter
06:15 PM Emil: High fuse bit 3
06:15 PM cehteh: flashing some static image too eeprob defeats that
06:16 PM Emil: Looking at this tutorial video
06:16 PM Emil: Using hierarchical sheets one can do block level design
06:17 PM Emil: pretty nifty
06:17 PM cehteh: somewhere i started but never finished code for a simple logging filesystem
06:18 PM cehteh: no directories just key:value store
06:18 PM cehteh: only one file can be written at a time
06:18 PM cehteh: enough for config data
06:18 PM cehteh: and should work with chips with very little eeprom (64 byte or so)
06:38 PM Emil: Good night
06:43 PM LeoNerd: http://paste.debian.net/972284/ -- a nice little smidge of almost Duff's device
07:02 PM NoHitWonder^: hi enhering
07:03 PM enhering: hi NoHitWonder^!
07:04 PM enhering: All right?
07:06 PM NoHitWonder^: yeh
07:28 PM xentrac: cehteh: do you assign serial numbers to the keys at compile time so you don't have to store the keys in the eeprom?
07:29 PM xentrac: Emil: hierarchical sheets?
07:31 PM NoHitWonder^: has anyone created 2 or more software uarts with avrs?
07:31 PM NoHitWonder^: in one chip i mean
07:32 PM xentrac: with clock and data recovery and all? that sounds feasible, especially for low baud rates, but challenging
07:34 PM cehteh: xentrac: that was never finished, could be using a binary string as key preceeding by a signed byte for the length, then any negative number are 127 single byte keys, any positive would be a string
07:43 PM cehteh: key 0 = root block
07:43 PM cehteh: after each key follows the data (1 or 2 bytes length first) checksum done
07:45 PM eichiro_ is now known as eichiro
07:46 PM day__ is now known as daey
11:01 PM wirts-leg: yo peeps
11:01 PM wirts-leg: i got AVR
11:03 PM wirts-leg: atmega168p I want to read analog value which will range between 0 and 0.3 volts from a shunt resistor and could use some pointers about how to set up an accurate reading for such a low range
11:46 PM wirts-leg: no talkers?
11:48 PM day_ is now known as daey