#avr Logs

Dec 05 2017

#avr Calendar

12:11 AM Evidlo[m]: my tiny didnt like -5V very much
12:37 AM Evidlo[m]: Is a volatile declaration necessary if my ISR is the only thing using the global?
12:42 AM robinak is now known as robink
12:46 AM _ami_: Evidlo[m], volatile is required in case you use variable in while loop as well.
12:52 AM _ami_: its kind of hint to compiler to not do crazy optimization over this variable.
12:54 AM Evidlo[m]: yeah I get it
12:57 AM Evidlo[m]: and one more thing. am I right in thinking that this expression should be equivalent to PB1 != previous PB2?: (PINB>>1 ^ last_PINB) & 1<<PB1
12:57 AM Evidlo[m]: err sorry, previous PB1 != current PB2
12:59 AM Ameisen: volatile, as per C and C++ spec, indicates that every access to the variable is considered an observable side-effect
01:00 AM Ameisen: it was originally intended for memory-mapped devices; however in practice it requires that the abstract machine force all writes to be completed before the next sequence point, and that no accesses can be elided.
01:00 AM Ameisen: or reordered relative to any other visiple side effects.
01:01 AM Ameisen: honestly, 'volatile' is __way__ too strict for what it's used for in AVR, but it's the only choice.
01:01 AM Ameisen: we just want write-through variables - the remaining requirements for volatile aren't really required, and hamper legitimate optimizations
01:03 AM thardin: oh yeah avr-gcc can't optimize DDRA |= 1; into the "set bit 0 in DDRA" instruction
01:03 AM thardin: how do you actually do that in C for AVR? can you even?
01:04 AM Jartza: how come it can't?
01:04 AM Jartza: https://gist.github.com/Jartza/56d006504316ef5fe5a3db1b3e438ca9
01:05 AM Jartza: I've used these macros for ages and mostly they optimize into sbi/cbi
01:06 AM Ameisen: inline assembly
01:06 AM Ameisen: it'd need an intrinsic
01:06 AM Ameisen: Jartza - if it's volatile, the abstract machine is required to treat that as it actually is
01:06 AM Ameisen: DDRA = DDRA | 1;
01:06 AM Ameisen: which is a read, then a write
01:06 AM thardin: I believe it's not allowed to assume the value of any register remains constant
01:06 AM Ameisen: since it's volatile, it must perform two operations, in sequence.
01:07 AM thardin: one of these days I may grow irate enough at avr-gcc:s quirks to submit a few patches
01:07 AM thardin: *maybe* a bitfield would work
01:08 AM Ameisen: nope
01:08 AM Ameisen: bitfield is likely worse.
01:08 AM Ameisen: it's likely going to mandate the entire byte being read first
01:08 AM thardin: didn't old avr-gcc do what you'd expect? maybe that's why it worked for Jartza
01:08 AM Ameisen: the problem is that volatile is too strict, and there's no real alternative
01:09 AM Ameisen: there's no intrinsics to force a variable to flush to memory
01:09 AM thardin: I recall reading on their mailing list that the behavior changed
01:09 AM Ameisen: I suppose you could use memory barriers.
01:10 AM thardin: I bet you could do it in c++ with template magic and inline asm
01:10 AM thardin: or just macros in C with inline asm
01:11 AM Ameisen: thardin - if you could, I'd know.
01:11 AM Ameisen: the simple fact is that there's no way to _force_ a write to memory without volatile, and volatile has other implications.
01:11 AM Ameisen: the only thing I can think of is inline assembly.
01:11 AM thardin: yeah that's what I said :)
01:12 AM Ameisen: __asm__ __volatile__("":::"memory")
01:13 AM Ameisen: will likely work in most cases as an alternative to volatile
01:13 AM Ameisen: this instructs the compiler that no data should be cached in registered after that point.
01:13 AM thardin: btw, that 3d printer driver you're writing. couldn't you preprocess the data on the host PC instead? I presume it takes some effort to interpret G code
01:14 AM thardin: precompute all the things, like when writing C64 demos
01:14 AM _ami_: Jartza, nice beard!
01:14 AM _ami_: :)
01:15 AM Jartza: :)
01:15 AM Ameisen: You could probably _also_ use inline asm to just inform the compiler that you clobbered the memory that's at the variable's address?
01:15 AM Ameisen: thardin - yes.
01:15 AM Ameisen: I could.
01:15 AM Ameisen: It would then be incompatible with 90% of tools
01:15 AM Ameisen: and nobody would ever use it
01:15 AM Ameisen: :}|
01:15 AM Ameisen: :|
01:15 AM thardin: I suspected something like that
01:16 AM Jartza: https://gist.github.com/Jartza/9f93766769bf4387eb2b98e02450a28d
01:16 AM Jartza: using those macros above with avr-gcc 7.2 creates that asm :)
01:19 AM thardin: Jartza: neat
01:21 AM thardin: actually bitfields with names taken from the datasheets would be neat
01:21 AM thardin: like IMSK.INT7 = 1
01:22 AM Jartza: yeah
01:24 AM thardin: of course that may prevent it from doing useful optimizations if three or more bits are set
01:25 AM thardin: or maybe 5. load + or + store
01:47 AM Jartza: you need to do load+or+store anyway if you want to set more than one bit simultaneously
01:53 AM Jartza: ahh. finally got the paypal account passwd :)
01:57 AM Jartza: another example of the macro use: https://gist.github.com/Jartza/ca149ae2b201900cdd124fc9f3ec5926
02:08 AM Ameisen: interesting
02:09 AM Ameisen: a superscalar bit-set of an IO register/byte is faster than cbi/sbi when you have a function that takes a boolean.
02:09 AM Ameisen: Can only use it when you're guaranteed to not have anyone else setting bits in those registers though
02:13 AM Ameisen: https://pastebin.com/Xn0u4juM
02:15 AM Haohmaru: i need to do a full-duplex UART between two mCUs over long cables, the internetz pretty much tells me to use differential schemes like rs-485, i also want small footprint on the PCB.. soooo.. max490?
02:32 AM LeoNerd: Maxim make a lot of useful RS-422/RS-485 chips yup
02:33 AM LeoNerd: For /full/ duplex you'll be wanting RS-422
02:39 AM Haohmaru: hmz
02:42 AM Haohmaru: so, do i take one SN65176B and set it up to transmit only, and another one to receive only?
02:43 AM thardin: max3485
02:43 AM thardin: you can do rs-485 full duplex. you just need two cable pairs
02:46 AM thardin: ah rs-422 is one master only
02:46 AM thardin: guess that makes sense
02:47 AM Haohmaru: i don't need a very high bitrate (57600 will probably be plenty enough) and the cable length will definately not be a thousand meters
02:47 AM Haohmaru: but preferably i need small and cheap
02:48 AM Haohmaru: some of these maxim ICs are kinda pricey (5euro)
02:49 AM thardin: I think you only really need special hardware for rx
02:49 AM thardin: tx you might hack with some appropriate resistors I think
02:49 AM LeoNerd: I'm sure any RS-422 chip you find will have both TX and RX handling in it
02:50 AM Haohmaru: thing is, i'm finding ICs from 0.2 euro up to over 6 euro
02:52 AM Haohmaru: and it's not very clear why, some have stuff that looks like "enable" (tristate output or i don't know what)
02:52 AM thardin: yeah some are fixed tx and rx on certain pins, some can switch
02:52 AM thardin: https://datasheets.maximintegrated.com/en/ds/MAX3483-MAX3491.pdf
02:52 AM Haohmaru: others contain 20 variations stuffed in the same datasheet
02:52 AM thardin: fig 1 vs fig 2
02:53 AM thardin: how many are you making?
02:53 AM Haohmaru: how many what?
02:53 AM Haohmaru: uarts?
02:54 AM thardin: units
02:55 AM Haohmaru: uhm, i need this for two devices, where one of them could be considered "master" in the sense that it may support multiple devices from the other kind, but the other kind only needs to connect to the first device with just one uart
02:56 AM Haohmaru: this smaller device is an RFID reader, and it has to be very small due to the stupid plastic case it has to fit in
02:57 AM Haohmaru: however, the communication between them is full-duplex, i don't want "master with multiple slaves" scheme
02:57 AM thardin: there's some in SO8 packages that aren't too pricey: https://www.digikey.se/product-detail/en/intersil/ISL83490IBZ/ISL83490IBZ-ND/1034856
02:58 AM thardin: that one is one tx and one rx
02:59 AM Haohmaru: yeah, before that i was looking at max490/488
03:00 AM thardin: digikey parametric search saves the day
03:03 AM Haohmaru: but i can't order from there
03:16 AM thardin: can't tell you where to order I'm afraid
03:17 AM Haohmaru: i know where i can order from, i just don't fully know what exactly to look for
03:51 AM wondiws: I'm compiling LUFA, or parts thereof rather. I can compile with avr-gcc, but not with avr-g++, then I get "initializer-string for array of chars is too long". This is because of the definition of the USB descriptor structs. My native g++ compiler does compile it though
03:56 AM LeoNerd: In general it's an error of procedure to try to use a C++ compiler to compile C code. The two are not identical
03:58 AM wondiws: LeoNerd, it's not the actual LUFA code, I adapted part of it into my code, I took the descriptors from LUFA for now
03:58 AM thardin: did you include them with extern "C" ?
03:58 AM wondiws: when you do like this: struct s1 { int no; char str1[]; }
03:59 AM wondiws: that doesn't work, but if you do: struct s1 { int no; char str1[50]; } for instance, it does work
03:59 AM wondiws: but I suspect that that's no good for usb descriptors, as the size of the string is written out in the field previous of the string
03:59 AM wondiws: thardin, that makes no difference
04:00 AM wondiws: but the odd thing is, is that my native g++, for my amd64 debian, does compile it like in my first example
04:00 AM wondiws: avr-g++ does not
04:01 AM thardin: uhm yeah you need a size on that
04:01 AM wondiws: thardin, but it's dependent on the string in question
04:02 AM thardin: is this one of those "cat a string on the end of a struct and hope it works" kind of things?
04:02 AM thardin: what happens if you just do char *str1?
04:02 AM thardin: or const char* even
04:03 AM wondiws: thardin, I can't imagine that's a good thing, because the size of the struct needs to be dynamic apperantly
04:04 AM wondiws: thardin, that does compile though
04:05 AM thardin: I've seen such constructs in dasm's source code
04:05 AM wondiws: thardin, the code still works, when I run it, but indeed, the USB descriptor isn't there, product = "A"
04:06 AM thardin: I've seen char str1[0]; used
04:06 AM thardin: to indicate ugliness like this
04:07 AM wondiws: thardin, or I can just do -fpermissive :(
04:07 AM thardin: that you can do
04:08 AM thardin: you might run into aliasing issues
04:08 AM wondiws: thardin, indeed, that doesn't solve the problem, just the error
04:09 AM thardin: like if you do char *foo = (&s1_bar)[1]
04:09 AM thardin: what's stopping you from having a fixed max size on str1?
04:09 AM wondiws: thardin, maybe I should implement templates?
04:09 AM thardin: that's usually what you want to do in C on AVR anyways
04:10 AM wondiws: thardin, that won't work, because the USB host expects the descriptor strings to be in order
04:10 AM thardin: like template<string S> struct s1 { ... } ?
04:10 AM thardin: hum hum
04:11 AM thardin: you can either write a generator that makes everything just like you need it (using python say) or fuck around with templates. I don't know your exact requirements so
04:12 AM thardin: could be neat to have the compiler compute field lengths and such for you
04:18 AM wondiws: thardin, I was under the impression that the C compiler did it for me if I just declared the string like char nonsense[];
04:18 AM wondiws: otherwise the LUFA code wouldn't work either
04:22 AM wondiws: thardin, I'm pretty satisfied with templates :)
04:22 AM wondiws: thardin, thanks for brainstorming with me ;)
04:25 AM wondiws: do you need two \0 to terminate a wide (unicode) string by the way?
05:12 AM thardin: probably yeah
05:12 AM thardin: I mean if you're doing utf-16 you should probably already be uint16_t
05:19 AM thardin: oh man, string template arguments are really awkward
05:33 AM l9_ is now known as l9
06:18 AM szwetsloot: Is this also the correct place to discuss 32 bit microcontrollers?
06:19 AM thardin: if they're 32-bit AVRs certainly
06:19 AM szwetsloot: Great :)
06:19 AM szwetsloot: I have a custom board where I want to use PB11 (DDP line) as a GPIO. Does anyone know how I can tell the chip to use it with a different function? I am using the SAM4S8BA MCU.
06:32 AM szwetsloot: Does anyone know?
06:33 AM thardin: I don't
06:36 AM nuxil: Jartza, are you around ? did you get around to set a prize on the displays and setup some sort of payment?
06:41 AM szwetsloot: Atmel is really crappy with documentation.
06:41 AM szwetsloot: http://www.atmel.com/Images/Atmel-42155-SAM4S-Schematic-Checklist_ApplicationNote_AT03463.pdf
06:41 AM szwetsloot: Page 12 says that I can use it as GPIO, but nothing says how!
06:43 AM nuxil: szwetsloot, cant you use make a function that changes the pb11 direction, in/out.
06:43 AM nuxil: pseudo code: void gpio(char x) { if char == 0 { DDRB |= (0 << PB11) } else { DDRB |= (1 << PB11) }
06:43 AM nuxil: havent looked into your chip.
06:45 AM szwetsloot: nuxil: I can't get it to disable USB functionally. Now it is just constant on 1.2V, whatever I do (USB communcation HIGH)
06:46 AM thardin: maybe you need to program a fuse?
06:47 AM szwetsloot: These chips don't have fuses
06:47 AM szwetsloot: I found which registry point I need to edit, but I can't find how to edit the registry yet
06:50 AM szwetsloot: I think I'm just going to solve this the easy way, solder a wire from another pin.
06:54 AM nuxil: szwetsloot, is this same chip? http://www.atmel.com/Images/Atmel-11100-32-bit%20Cortex-M4-Microcontroller-SAM4S_Datasheet.pdf
06:54 AM nuxil: seems like a better datasheet
06:56 AM szwetsloot: Yeah, same datasheet. But this one only gives some information in chapter 25.8.4 about which register to edit, but doesn't provide any functions.
06:56 AM szwetsloot: But adding the wire worked.
06:56 AM szwetsloot: So thanks for helping
06:57 AM nuxil: CCFG_SYSIO
06:57 AM nuxil: it says it right there
06:58 AM szwetsloot: Yeah, but not how to edit it
06:58 AM nuxil: CCFG_SYSIO |= (1 << SYSIO11)
06:59 AM nuxil: setting SYSIO11 to 1 should make it use pb11 function instead of ddp
06:59 AM szwetsloot: Doesn't work like that in sam4s
06:59 AM szwetsloot: I can't edit the registry directly
07:00 AM nuxil: o.O
07:00 AM nuxil: then i dont know :p
07:00 AM nuxil: maybe you can alter the 11 bit at the address 0x400E0314
07:00 AM nuxil: idk
07:01 AM nuxil: but to be honest. im not much help. i can barly do 8 bit avr's :p
07:11 AM nohitwork: why wouldnt it work?
07:13 AM nuxil: try MATRIX->CCFG_SYSIO |= (1 << SYSIO11)
07:14 AM nuxil: http://asf.atmel.no/docs/3.8.1/sam.drivers.rtc.example.sam4s16c_sam4s_wpir_rd/html/struct_matrix.html
10:35 AM polprog: this scope is beautiful: https://ssli.ebayimg.com/images/g/FDQAAOSw0fhXl5-B/s-l1600.jpg
10:36 AM polprog: that's what i would have if i was born 15 years ago
10:38 AM polprog: 15 years before*
10:38 AM polprog: :p
10:40 AM thardin: what's stopping you from using it now?
10:42 AM polprog: too expensive. and i already have a 4ch scope
10:42 AM polprog: aand im saving money
11:02 AM Emil: szwetsloot:whatcha mean "cant edit directly"
11:02 AM Emil: what sort of bullshit is that?
12:17 PM Jartza: evening
12:17 PM nuxil: hi
12:17 PM Jartza: nuxil: yea, displays would be 6€ (incl.VAT) + postage
12:18 PM Jartza: if you are outside EU, I need to figure out if I can deduct the VAT
12:18 PM Jartza: as I'm not selling them as person, but a company
12:18 PM nuxil: im in norway
12:20 PM samantaz_: hello
12:20 PM nuxil: Jartza, let me check my custom rules.
12:21 PM nuxil: maybe we need to split it up into two packages :p
12:22 PM Jartza: I need to check the legislation too as there is some exceptions inside nordic countries
12:22 PM nuxil: oki. i can buy for 350 kroner without having to pay tax
12:23 PM nuxil: thats about 36€
12:23 PM Jartza: buy it's either 6€ (incl vat) or 4.85€ (excluding vat)
12:24 PM nuxil: i will buy 5 anyway
12:25 PM nuxil: just PM me with you figure out your part, regards how payment shall be done etc.
12:26 PM Jartza: I will be using paypal :)
12:26 PM nuxil: no problem
12:26 PM Jartza: that's easiest for me as we already have company account there set up
12:26 PM nuxil: i got paypal
12:30 PM Jartza: ahh okay, my boss said that because we already imported the displays from china, we had to pay VAT from them, so it's anyway the price including VAT
12:30 PM nuxil: its ok.
12:30 PM Jartza: it's just that we can deduct the VAT from our bookkeeping if we sell inside EU
12:31 PM nuxil: yea. same here. if i where to buy them from you as a companie. i could do that too.
12:31 PM Jartza: yeah, selling as a company is quite new to me, I've always let someone else handle it :D
12:31 PM Jartza: would be different if those displays were my own :D
12:32 PM Jartza: I check the post package price
12:33 PM nuxil: no need for express. lol.
12:34 PM Jartza: hehe yea, stupidly expensive from finland
12:34 PM nuxil: i hate it.. esp if its DHL thats delivering. if im not home they send the package back. than that are sucky at calling when they are comming. and the tracer info is 99% of the times wrong on the "estimated delivery" :p
12:34 PM Jartza: economy 4.70€
12:34 PM Jartza: up to 250g
12:35 PM nuxil: alright.
12:35 PM Jartza: 5 displays is about 100g, plus packaging, so that should fit
12:36 PM Jartza: that would be 34.7€ total if I can calculate
12:37 PM Jartza: maybe if I just make an paypal invoice to you, you can then insert your address in paypal?
12:37 PM Jartza: just PM your email
01:02 PM nuxil: Jartza, so.. its like 495 to go or 1495?
01:03 PM nuxil: Jartza, will be known as the Display Pusher :p
01:04 PM nuxil: just kidding ofcource
01:04 PM Jartza: haha
01:05 PM Jartza: I ordered 1000, will use 500 for Tagsus and about 20 for some protos and general testing
01:05 PM Jartza: so now there's only 475 extras, haha
01:07 PM polprog: https://www.youtube.com/watch?v=CMvFKDHh4WM
01:08 PM polprog: i need to try ppp over serial as soon as i fix up serial on the big pc
01:08 PM Jartza: but yeah, I now have the paypal passwd so I can sell the LCDs much easier
01:09 PM Jartza: without asking for bookkeeper to generate an invoice
01:22 PM Emil: Jartza: wait
01:22 PM Emil: how much are the tagsus?
01:43 PM Jartza: Emil: previous version sold for 29€ but I'm trying to reduce BOM so I could make it to 24.90€ max...
02:06 PM samantaz_: I have a 3D printer with a FTDI FT232RL on it
02:07 PM samantaz_: and when I run avrdude to flash the mega2560 (-c ft232r -p mega2560) the USB device is disconnected (in dmesg)
02:15 PM nuxil: what avrdude say?
02:19 PM samantaz_: avrdude: Device is not responding to program enable. Check connection.
02:20 PM samantaz_: and, exactly at the same time, in dmesg's output : ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
02:27 PM Casper: check the printer documentation
02:27 PM Casper: a ft232 is not a programmer
02:34 PM polprog: ft232 is a usb-rs232 converter that can be hacked into a programmer, but thats definitely not a case of this printer
02:34 PM polprog: any device with ft232 on board will use it for uart, not programming
02:36 PM samantaz_: oh, okay, thx for the info
02:37 PM Casper: there is also some fake ft232 and some emulated ones
02:38 PM polprog: mm
02:38 PM polprog: the printer might have a serial bootloader though
02:38 PM LeoNerd: I recall there's advice about discarding the first few ADC readings after switching the reference, but what's the advice about just switching the mux?
02:38 PM polprog: arduino style
02:44 PM Casper: I never could make sense of that
02:44 PM Casper: it seems like when you change the mux on a free running one then you may have a false reading for the first conversion depending on when you change it (timing)
02:45 PM Casper: it is so not clear imo
02:45 PM LeoNerd: It's not in free-running. I'm triggering it every time
02:46 PM LeoNerd: Oh hrm.. but the thermometer needs me to use internal 1V1 ref, ... which normally I'm using AVCC
02:50 PM Emil: Jartza: lulz, I was like "Tagsu for 6€ hoooot daaamn"
02:54 PM polprog: something tells me i'd use an external adc i can freely decouple, and do all other sorts of stuff with
02:55 PM polprog: i dont remember the specs of the builtin one but there must be better ones out there
02:55 PM polprog: keep in mind i dont know much about this :P so i may be talking nonsense
03:12 PM Jartza: wow
03:12 PM Jartza: internet got stuck
03:13 PM Jartza: Emil: yea, tagsu would be cool for 6€, unfortunately it would require quite a big batch :D
03:13 PM Jartza: maybe if someone wants millions of them...
03:18 PM Jartza: https://www.tme.eu/en/Document/3b04bc4ca0f85aea47bc36fde9f39a9b/RX1602A3-BIW-TS.pdf
03:18 PM Jartza: that's the datasheet of the display, except the led in this is different and viewing angle
04:12 PM nuxil: :) cant wait to get to play with them :)
04:29 PM Emil: nuxil: why not just order from eBay?
04:30 PM polprog: nuxil is getting one of those displays?
04:32 PM nuxil: polprog, yes im getting a few of them. Emil, im not really a big fan of eBay.
04:32 PM polprog: im looking for some Linux-windows admin cheat sheet, something that would associate similar (mostly builtin) tools on both systems, for example gparted <-> mmc dismgmt.msc
04:32 PM polprog: i dont rule out a possibility of writing one ;)
04:32 PM Emil: polprog: debian handbook
04:33 PM Emil: Covers pretty much everything regarding Debian administration
04:33 PM polprog: id never think about looking for windoze command in the debian book
04:33 PM Emil: Yes
04:33 PM Emil: but
04:33 PM Emil: >Windows admin
04:33 PM Emil: are you wanna die?
04:33 PM polprog: im looking for the windows versions of tools im used to have on linux :P
04:33 PM Emil: Just install the linux subsystem
04:33 PM Emil: or use cyqwin
04:33 PM Emil: or something
04:34 PM Emil: or just don't windows?
04:34 PM polprog: heh, im afraid to be expected to wear many hats someday
04:34 PM Tom_L: what tools are you wanting?
04:34 PM Tom_L: i use notepad ++ for the editor
04:34 PM nuxil: lol me too :p
04:34 PM Tom_L: then avr-gcc
04:34 PM polprog: heh
04:35 PM Tom_L: or sometimes notepad which has build menus for makefile stuff
04:35 PM polprog: for example today at programming lesson, i learnt that the telnet tool in win7 has to be explicitly enabled on win7, and it sucks anyways
04:35 PM Tom_L: and avrdude
04:35 PM Tom_L: telnet? wtf for?
04:35 PM Emil: polprog: mate
04:35 PM Emil: polprog: just stop
04:35 PM Emil: if there's a linux tool for it
04:35 PM Emil: use Linux
04:36 PM polprog: and then i installed putty so i can play nethack during that 30 minutes after i type the program from the paper we were given.
04:36 PM Emil: notajoke
04:36 PM polprog: i'd love to
04:36 PM polprog: but i have a win7 machine i take care of
04:36 PM Tom_L: i run win7 and have had no issues compiling
04:36 PM nuxil: take care with it using an axe
04:37 PM Tom_L: linux has it's share of issues too so don't go there
04:37 PM polprog: i dont do any programming on windows, except for the glorified typing lessons at school
04:37 PM polprog: windows is absolutely unusable for what i consider tradiditional programming
04:37 PM polprog: ie unix style
04:38 PM nuxil: gnu style
04:39 PM Tom_L: it's been quite a while since i did any avr programming but as i recall i kept a cmd window open and ran the makefile from it
04:39 PM Tom_L: using the programmer's notpad or notepad++ as the editor
04:39 PM Tom_L: and avrdude with one of my programmers
04:40 PM nuxil: i just ssh to my raspberry which i have setup the programmer on. and i also setup a smb share on it so i just sit in windows notepad++ and edit the code
04:40 PM Tom_L: everybody has their choice ways of coding etc
04:41 PM nuxil: yea
04:41 PM polprog: so basically on that "programming" lessons we are being given papers with some c code that does something of a "take 2 numbers from user and add them", and even that is dumb since there are typos in the c code... not to mention on the paper there's void main() and gcc in DevCpp doesnt like that. and tell me how a student with no programming experience should cope with that shit
04:41 PM polprog: i usually help people who are one or two desks away.
04:42 PM Tom_L: i've been in those classes :D
04:42 PM Tom_L: different topics though
04:42 PM Tom_L: 2 weeks in, i was done and spent the rest of the time helping
04:42 PM polprog: but i cant go around entire class telling them to replace void with int. and fix many other bugs
04:42 PM Emil: Hyvää itsenäisyyspäivää, Suomi!
04:42 PM polprog: but hey. i got an A from block schematics and numeral systems
04:43 PM nuxil: so youre the nerd of the class ? :p
04:43 PM nuxil: just joking :p
04:43 PM Tom_L: and proud of it
04:44 PM nuxil: yea. be that
04:44 PM polprog: accidentally i wore my netbsd tshirt to the class again, so i guess yes. although they dont know what that is so it's just devils on a pile of PCs holding a flag on that shirt
04:44 PM polprog: :P
04:44 PM polprog: i like to help
04:44 PM polprog: and teach
04:45 PM Emil: that's good to hear
04:45 PM polprog: https://puu.sh/yAaqV/a7a6dad2c5.jpg today's morning
04:45 PM polprog: :p
04:46 PM polprog: and said tshirt https://puu.sh/yqcKq/1b9f22c7a7.jpg
04:47 PM polprog: rant over
04:53 PM nuxil: https://www.youtube.com/watch?v=y6NSdGL8czw
04:54 PM polprog: java <3
04:54 PM polprog: im getting nostalgic
04:54 PM nuxil: hehe
04:54 PM polprog: https://www.youtube.com/watch?v=d3TXeh_t23o
04:54 PM polprog: this is good
05:20 PM nuxil: best computer joke. Why programmers like unix: unzip, strip, touch finger, grep, mount, fsck, more, yes, fsck, fsck, unmount, sleep :D
05:20 PM nuxil: *umount
05:23 PM Tom_itx is now known as Tom_L
05:23 PM polprog: sudo finger
05:25 PM polprog: sleep 19800; echo "morning" > /dev/irc
05:25 PM nuxil: gn
08:38 PM Ameisen: thardin
08:38 PM Ameisen: I do plan on having a custom ISA for the printer as well to print more directly
08:38 PM Ameisen: however, it still requires gcode support
08:38 PM Ameisen: the toolchains that exist for 3d printers rely on gcode
08:39 PM Ameisen: offline recompilation isn't suitable for most people and tools
08:39 PM Ameisen: I'm also not entirely sure if I have enough cycles available to do even online recompilation (without optimizations)
08:39 PM Ameisen: My hope is to have a gcode frontend in the printer that talks to the native backend. That will add a little overhead, though
08:45 PM Ameisen: what happens if an interrupt hits during cbi/sbi (since they're two cycle) and alters the byte?
08:57 PM rue_mohr: it waits
08:57 PM rue_mohr: Ameisen, are you rewriting grbl?
08:59 PM Ameisen: grbl? no.
09:00 PM rue_mohr: who gonna rewrite grbl?
09:00 PM Ameisen: someone else.
09:12 PM rue_mohr: https://www.pidtuning.net/css/images/temp/alg-types.png
09:12 PM rue_mohr: this is why you can never get PID right
09:12 PM rue_mohr: nobody ever mentions there are 3 types
09:43 PM robinak is now known as robink
11:19 PM day__ is now known as daey