#avr Logs

Apr 08 2018

#avr Calendar

01:23 AM polprog: Morning
01:27 AM rue_mohr: no, dont be silly
01:29 AM Casper: no, it's only 2:28!
01:30 AM Casper: and I'm starting to be hungry, of course
02:56 AM polprog: Heh me too
02:56 AM polprog: We got a wafer making machine
02:57 AM polprog: Yesterday
03:00 AM Casper: just got a piece of ham, with a glass of milk
03:02 AM polprog: Off to making breakfast
04:28 AM thardin: Jartza: :DD
04:29 AM thardin: lft figured out a clever trick to get composite signals w color which you might want to check out too
04:30 AM thardin: basically only do color on every other line. works because PAL is differential
04:30 AM thardin: which only works on PAL of course.. :]
05:05 AM _abc_: Hello. I have an avr-objdump stumper. Dumping out of elf in built, working project, I now need the .bin file of the .hex . I get different end addresses and size (!) in the bin extracted with avr-objcopy.
05:06 AM _abc_: Commands: avr-objcopy -v -R .eeprom -R .fuse -R .lock -R .signature -O ihex $in.hex $out.ihx; avr-objcopy -v -R .eeprom -R .fuse -R .lock -R .signature -O binary $in.elf $out.bin
05:07 AM _abc_: The ihex file has code starting at 0000 and ending at 0x2655 (last byte index)
05:08 AM _abc_: The bin file has last 4 bytes and 1st 4 etc matching the ihx but length of $out.bin is 9836 (decimal) bytes = 0x266C
05:08 AM _abc_: Note ~+0x10 size ?!
05:09 AM _abc_: What the fooh can cause this and where do I look to find it?
05:11 AM _abc_: Note extracting from the ihex to bin using avr-objcopy yields the exact same bin file as directly from elf does
05:11 AM _abc_: Please help an old man find his mistake?
05:15 AM aczid: _abc_: those -R options are redundant for .hex files aren't they - those files don't have sections
05:15 AM aczid: your input file should be an elf
05:18 AM aczid: otherwise pass -I ihex ?
06:55 AM Jartza: hex file doesn't have sections
06:55 AM Jartza: only ELF has the section info
06:56 AM Jartza: also the .text and .data sections should be copied
07:00 AM Jartza: avr-objcopy -j .text -j .data -O binary $in.elf $out.bin
08:08 AM nohitz: free ebook https://www.packtpub.com/packt/offers/free-learning?from=block
09:44 AM _ami_: Deriving transfer functions for active filters is like having mathorgasm. :D
09:46 AM _ami_: Extra element theorem method is probably fastest way to derive Transfer functions for RC circuits
10:24 AM Emil: polprog: https://www.youtube.com/watch?v=VZ8z-t2ejnY
11:08 AM polprog: _ami_: i hope ill learn that someday
11:08 AM polprog: Emil: loved that game ;)
11:09 AM polprog: right now im watching DAS
11:11 AM polprog: Emil: https://www.youtube.com/watch?v=LOsMKwPiy1Y
11:17 AM _ami_: polprog: sure. :D
11:18 AM _ami_: omg: look at those caps size. https://pbs.twimg.com/media/DaRVVcbU8AASgfz.jpg
11:18 AM * _ami_ watching EPL - chelsea vs West ham.
11:18 AM _ami_: basically doing two parallel tasks: cleaning desk too.
11:18 AM polprog: 400v 2.2F
11:18 AM polprog: noice
11:19 AM polprog: ive got a 16V 47F
11:20 AM _ami_: oh, 16v is too tiny. :P i have those
11:20 AM polprog: still kicks
11:21 AM polprog: if you happen to accidentally short it, it can weld to metal
11:24 AM _ami_: polprog: do you learn those concepts like laplace transform to analyze circuits in university?
11:25 AM polprog: _ami_: ask me in 10 years
11:25 AM _ami_: oh, you are in college or univ?
11:25 AM _ami_: how old are you?
11:25 AM * _ami_ wonders
11:26 AM skz81: polprog, want some "happy hardcore" ? https://www.mixcloud.com/ivogravos/gravos-2015-o-100-carotte-happy-bunny-party/
11:27 AM polprog: _ami_: im 18
11:27 AM polprog: skz81: lol that acid rabbit
11:27 AM _ami_: damn, you are young!
11:27 AM _ami_: very young!
11:28 AM polprog: damn, i caught myself complain about young kids
11:28 AM polprog: complaining*
11:28 AM polprog: already - that means im OLD
11:28 AM polprog: :P
11:29 AM _ami_: :)
11:30 AM _ami_: but you know a lot than those average people at this age.
11:30 AM * _ami_ is impressed
11:35 AM _ami_: https://www.aliexpress.com/item/DC12V-1A-2A-3A-5A-8-5A-10A-15A-20A-30A-lighting-Transformers-LED-Driver-Power/32677602188.html - does this and its siblings good enough for supply power to DSP5015 or any other power supply (DC-DC)?
11:35 AM * _ami_ thinks to buy 24v or over with >= 10A current
11:37 AM _ami_: already have a ATX power supply but looking to add one or two more power supply to experiment with other projects.
11:45 AM polprog: iirc those have plain DC output. i have one but im using it for a led string . Havent measured it precisely.
11:45 AM _ami_: polprog: 12v, ? A
11:46 AM polprog: mine is 12V. 1.25A
11:46 AM polprog: identical like those in the pic
11:46 AM _ami_: ok
11:47 AM polprog: dont take my word for it, its all chinesium
11:47 AM polprog: i like how they left out a ground wire unconnected in the last pic
11:48 AM polprog: subtle
12:04 PM Emil: polprog: no, 400v 2.2mF
12:05 PM Emil: _ami_ you sound like a creeypo old man :D
12:08 PM Jartza: I have nice 12V powers
12:08 PM Jartza: the other shoots 47A, and the two other 100A
12:17 PM trafaret1: hi there
12:18 PM trafaret1: can anybody help me
12:18 PM trafaret1: suggest me please free avr compiler and debugger
12:19 PM MrFahrenheit: gcc?
12:20 PM trafaret1: for windos
12:20 PM Emil: still gcc
12:20 PM trafaret1: hmm
12:20 PM trafaret1: gnu c compiler?
12:20 PM MrFahrenheit: debugging is awkward, gotta either simulate or buy a board from atmel - they kept the protocol secret
12:21 PM Emil: or just do like any sane person would
12:21 PM Emil: print it
12:21 PM Emil: trafaret1: install bash for windows and then emil.fi/avr
12:21 PM Emil: for very quick getting started
12:22 PM MrFahrenheit: winavr is avr-gcc for windows, right?
12:22 PM Emil: sure
12:28 PM trafaret1: Emil: mingw?
12:28 PM Emil: trafaret1: no
12:28 PM Emil: https://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/
12:28 PM Emil: Or run linux in a vm and ssh into it
12:28 PM Emil: so you can run it in the background
12:29 PM trafaret1: I have win7
12:29 PM Emil: lol
12:29 PM Emil: sucks to be you
12:29 PM Emil: or just install virtualbox
12:29 PM trafaret1: good one
12:29 PM Emil: no
12:29 PM Emil: it's idiotic to stay on W7
12:29 PM trafaret1: I have slow computer
12:30 PM trafaret1: relatively old
12:30 PM Emil: Install Gentoo
12:30 PM trafaret1: I have ubuntu
12:30 PM Emil: (or some other flavour of linux)
12:30 PM Emil: I recommend Debian with xfce
12:30 PM Emil: Runs fine even on old computer
12:30 PM trafaret1: why? is debian better than ubuntu?
12:30 PM Emil: Yes
12:30 PM trafaret1: in which part?
12:30 PM trafaret1: all the same
12:31 PM Emil: in every way
12:31 PM MrFahrenheit: trafaret1, have you tried winavr?
12:31 PM trafaret1: ubuntu grew ups from debian
12:31 PM trafaret1: MrFahrenheit: very slow
12:31 PM Emil: trafaret1: anycase
12:31 PM Emil: it's irrelevant
12:31 PM Emil: you have lenux
12:31 PM Emil: use it
12:31 PM Emil: or install virtualbox
12:31 PM Emil: or update to win10
12:31 PM Emil: or winavr
12:32 PM Emil: Choose your adventure
12:32 PM trafaret1: I use emacs
12:32 PM Emil: cool
12:32 PM trafaret1: and it would be good to use for programming controllers
12:32 PM Emil: then do so
12:32 PM Emil: you don't need to use any shite ide
12:32 PM Emil: just a text editor
12:32 PM Emil: (though emacs is like an os unto itself)
12:33 PM trafaret1: that's why I here
12:33 PM trafaret1: I know this gui shit
12:33 PM Emil: Just replace /init and /sbin/init with emacs
12:33 PM trafaret1: with this big big buttons
12:33 PM MrFahrenheit: what compiler does the arduino sdk come with?
12:33 PM Emil: MrFahrenheit: avr-gcc
12:33 PM Emil: MrFahrenheit: comeone
12:33 PM Emil: MrFahrenheit: it wraps avr-gcc and arm-none-eabi
12:33 PM MrFahrenheit: I mean on windows, maybe they package old versions or what?
12:33 PM Emil: eh?
12:33 PM MrFahrenheit: if not, use that, trafaret1?
12:34 PM Emil: I mean sure you can use the arduino ide as g++ compiler and programmer
12:34 PM Emil: but that's horrible
12:34 PM Emil: And not C
12:34 PM MrFahrenheit: I didn't say the ide, just the compier
12:35 PM trafaret1: compiler and debugger would be enough for start
12:35 PM Emil: trafaret1: you don't need a debugger with 8 bit avrs
12:35 PM trafaret1: but problem which one I have to choose
12:35 PM Emil: just print to serial or blink ledds
12:36 PM Emil: trafaret1: there really isn't much to choose: you can use atmel studio if you enjoy your vendor lockdown and their ide, iirc there's even IAR support but that's just cancer
12:36 PM Emil: This leaves you with gcc as the only real option
12:36 PM Emil: sure there's clang but eh
12:36 PM Emil: now to use gcc
12:36 PM Emil: the options are laid out above
12:36 PM Emil: Select one
12:36 PM Emil: I recommend installing gentoo
12:37 PM trafaret1: I not spec in unix word I enjoy with ubuntu
12:37 PM Emil: wot
12:37 PM trafaret1: I'm not specialist in unix world for me ubuntu suits well
12:38 PM Emil: No one understood what you said
12:38 PM trafaret1: for my purposes
12:38 PM Emil: bro
12:38 PM Emil: pls
12:38 PM Emil: whatever flavour of linux is fine
12:38 PM Emil: or even *nix
12:39 PM Emil: just install avr-gcc, binutils-avr and avr-libc
12:39 PM Emil: and https://emil.fi/avr has a quick getting started
12:39 PM trafaret1: Emil: avr-gcc goes with gui shit 500MB?
12:39 PM Emil: ...
12:40 PM Emil: trafaret1: also learn English
12:40 PM trafaret1: ok
12:41 PM trafaret1: I was mean avr-gcc go along with with gui or it's simple shell compiler?
12:41 PM Emil: if you prefer to compile from source, emil.fi/toolchain has quick instructions on that
12:41 PM Emil: trafaret1: do you want a gui?
12:41 PM trafaret1: yes
12:41 PM Emil: if you want a gui just install atmel studio
12:41 PM Ameisen: Why would you use the arduino SDK's compiler anyways
12:41 PM Ameisen: it's way out of date
12:42 PM Emil: Ameisen: because it's not regressed
12:42 PM Ameisen: I just use Visual C++ coupled with some build scripts and avr-gcc
12:42 PM Emil: Ameisen: 4.7/8/9 has apparently the best performance on avr
12:42 PM trafaret1: want to understand programming controllers to the core
12:42 PM Emil: trafaret1: then skip the fooking gui
12:42 PM Emil: and read datasheets
12:42 PM Ameisen: Emil - you can disable the regressed features in newer versions
12:42 PM Ameisen: which is what I do
12:43 PM Ameisen: most of them don't benefit AVR anyways, which is why they hamper codegen
12:43 PM Emil: Ameisen: what options?
12:43 PM Emil: Do you have a script?
12:44 PM Emil: >kauppaan
12:47 PM trafaret1: Emil: ok I have installed avr-gcc
12:47 PM trafaret1: what is next step
12:47 PM Emil: read https://emil.fi/avr
12:47 PM Emil: like I said
12:47 PM Emil: It's only like two a4:s
12:47 PM Emil: of clear instructions
12:48 PM trafaret1: Emil: is it your work?
12:48 PM trafaret1: cool
12:48 PM Emil: If you use an arduino board you can skip straight to 4 after 2
12:48 PM Emil: trafaret1: of course it's not my work
12:49 PM trafaret1: your nickname and emil.fi
12:49 PM trafaret1: strange
12:50 PM Emil: I mean, it's not like I irc from that server or anything
12:50 PM nohitz: coincidence
12:50 PM nohitz:
12:50 PM Emil: Yeah, pure coincidence
12:51 PM Emil: I stole this nick
12:51 PM Emil: fite me
12:51 PM Emil: I h4xd the guy
12:52 PM trafaret1: there are avr bin i686-w64-mingw32 include info lib libexec man share
12:52 PM trafaret1: should I set path for all of these folders
12:52 PM polprog: Lol
12:52 PM polprog: Emil: my bad
12:53 PM Emil: polprog: basic mistake
12:53 PM polprog: Well then mine is 47mF
12:53 PM Emil: trafaret1: mignw is shite
12:54 PM Emil: polprog: wait
12:54 PM Emil: you thought 1000*uF=F? :D
12:54 PM Emil: apuaaaa :D
12:55 PM Emil: well such brainfarts happen to all of us
12:55 PM Emil: Hmm, I should realy just do LFS in a weekend
12:56 PM MrFahrenheit: Emil, anyone ever tell you you're a bit rude?
12:56 PM polprog: Fuck no
12:57 PM Emil: MrFahrenheit: https://emil.fi/m/fbcls.png
12:58 PM Emil: trafaret1: anycase I don't know mingw
12:58 PM Emil: trafaret1: if you do want to stay on windows I recommend virtualisation (virtualbox is easy and even I use it even though I hate it)
12:59 PM trafaret1: ok
12:59 PM Emil: I'd much rather be a cool häxör and use virsh/libvirt/qemu myself
01:00 PM Emil: But alas I'm not that experienced yet
01:02 PM skz81: <Emil> in every way >> no skz, don't feed that troll...
01:02 PM Emil: skz81: :DD
01:02 PM Emil: skz81: I mean
01:02 PM Emil: it's a departure from what I believe
01:03 PM Emil: but then I figured: "Well, I'm being asked an opinion and I'm not super interested in typing everything, so let's just say Debian is the best"
01:03 PM Emil: :D
01:03 PM skz81: <Emil> MrFahrenheit: it wraps avr-gcc and arm-none-eabi >> and esp toolchain. Maybe other ?
01:03 PM Emil: Yeah true
01:03 PM Emil: forgot esp
01:04 PM Emil: which is the only thing I use it for :D
01:04 PM Emil: MrFahrenheit: also rude in what wya
01:04 PM Emil: sure i used sarcasm above
01:05 PM Emil: and am direct
01:05 PM Emil: but that's not rude but in the dystopian world
01:05 PM Emil: even though I subscribe to the thought that everyone is an idiot in their own way I still feel like my view is superior to most
01:06 PM Emil: should I say most of this is tongue in cheek?
01:09 PM skz81: Emil, I misread : i beleived you said Debian is better than Gentoo ! sorry
01:15 PM Ameisen: Emil - sorry
01:15 PM Ameisen: was distracted with linguistics stuff elsewhere
01:15 PM skz81: mingw IIRC stands for "MINimal Gcc for Windows". mainly the libc /stdc++ are adapted, to support POSIX calls under winshit
01:15 PM Ameisen: trying to figure out how to translate Old English 'swa swa' into Common Germanic
01:15 PM Ameisen: https://github.com/ameisen/Tuna-i3-Plus/tree/master/Tuna/rbbuild
01:15 PM Ameisen: those are the ruby scripts I use with my Tuna firmware
01:15 PM Ameisen: a few of my other projects have improved versions of those ruby scripts
01:15 PM Ameisen: slowly working on merging them
01:15 PM Ameisen: my ARM one works with gcc and clang
01:16 PM Ameisen: and has a few bug fixes for the dependency scanner
01:16 PM Ameisen: it does a clean build of my firmware in I think 7 seconds?
01:17 PM Emil: skz81: I did say
01:17 PM Emil: that Debian is better than Gentoo
01:17 PM Emil: well
01:17 PM Emil: I kinda implicated it
01:17 PM Emil: I didn't say it exactly
01:18 PM Emil: since we were only comparing ubuntu and Debian at that point :D
01:18 PM Emil: But here let me say it
01:18 PM Emil: Debian>Gentoo in every way
01:18 PM Emil: Ameisen: eww ruby
01:19 PM Ameisen: Emil - meh. It's portable.
01:19 PM Ameisen: And I know Ruby better than I know Python
01:19 PM Ameisen: :|
01:20 PM Ameisen: At some point I'll rewrite it in C++
01:20 PM Ameisen: as a full tool
01:20 PM Emil: do it in C
01:20 PM Ameisen: I know C++ better than I know C.
01:20 PM Emil: a great chance to learn C
01:20 PM Ameisen: Also, for tools like that, C++ tends to be a bit better.
01:20 PM Ameisen: The important thing is that the tool be portable and easily acquirable
01:20 PM Emil: so C
01:20 PM Ameisen: And I haven't figured out how to properly integrate such a tool with Visual C++
01:20 PM Ameisen: due to VC++ using project files
01:21 PM Ameisen: you have to synchronize the two systems somehow
01:21 PM Ameisen: CMake uses a bottom-up approach, but I really hate that approach
01:21 PM skz81: <Emil> Debian>Gentoo in every way >> erm, it's debatable, at least :p
01:22 PM Ameisen: I think Visual Code has a similar problem, but I haven't really used it
01:22 PM Ameisen: actually, other IDEs have similar problems as well
01:22 PM Ameisen: almost all have their own 'project' format
01:22 PM Emil: skz81: you don't notice how my tongue is going through my cheek?
01:22 PM Emil: Ameisen: which is why it's gcc and make
01:22 PM Emil: >:)
01:23 PM MrFahrenheit: Emil, you were rude to trafaret1 earlier I mean
01:23 PM Emil: MrFahrenheit: where
01:24 PM MrFahrenheit: <Emil> No one understood what you said
01:24 PM MrFahrenheit: <Emil> ...
01:24 PM MrFahrenheit: <Emil> trafaret1: also learn English
01:24 PM Emil: MrFahrenheit: true
01:25 PM MrFahrenheit: well, rude is a bit much
01:25 PM MrFahrenheit: snippy
01:25 PM Emil: No it was rude
01:27 PM Ameisen: Emil - I don't mind the concept of a project file. The difficulty is if you have something like one 'defining' what your project is... how do you use said project file with all the different IDEs that have their own?
01:28 PM Ameisen: You either add extensions to those IDEs to read your format, OR you design osme kind of interchange process to update one and the other depending on circumstances.
01:28 PM skz81: <Emil> skz81: you don't notice how my tongue is going through my cheek? >> mouhaha no I didn't. But beware, don't bite !
01:28 PM polprog: Emil: libvirsh/qemu is pretty slick
01:28 PM polprog: And easy
01:28 PM polprog: Esp qemu - you can write yourself a startup script
01:30 PM nuxil: time for a cup of coffee.
01:32 PM nuxil: just finished making this case . https://i.gyazo.com/481f0dfa0e176468b95ec94340fc0128.jpg
01:32 PM Emil: wotsdat
01:32 PM nuxil: now i need to wire all the 40 leds.
01:32 PM nuxil: dat is a small uvbox
01:32 PM Emil: ohcool
01:32 PM Emil: Nice
01:32 PM Ameisen: either way
01:32 PM Ameisen: the ruby scripts work
01:32 PM Ameisen: and they're multithreaded
01:33 PM Ameisen: they will do dependency analysis of source files (parallelized), compile (parallelized), link (up to your linker)
01:33 PM Ameisen: I recommend using ld.gold if you want it parallelized.
01:33 PM Ameisen: or lld if you're feeling lucky
01:38 PM nuxil: Emil, I finished up the fan control stuff for my 3d printer..but i dont want to use these prototype board to make the circuit on. so needed to make this box 1st so i can make the a pcb instead. :) :)
01:45 PM skz81: <nuxil> dat is a small uvbox >> What for ? You wanna get brown ? :)
01:45 PM skz81: Ha PCBs I guess
01:45 PM nuxil: :D
01:46 PM skz81: nuxil, I was like : "he still use EPROM ? Not EEPROM ?"
01:47 PM skz81: that said, I have some plain old EPROMs spare...
01:47 PM Emil: trafaret1: gettin success?
02:15 PM Ameisen: nuxil - is your 3d printer using AVR or ARM
02:15 PM Ameisen: I mostly have dropped AVR for printers as they aren't powerful enough to do more complicated motion calculation necessary for very smooth movement
02:16 PM Ameisen: can't calculate arcs easily in an ISR
02:16 PM Ameisen: you tned to have your motors stall instead
02:17 PM Emil: Ameisen: bullshit
02:18 PM nuxil: Ameisen, atmega2560
02:18 PM Ameisen: I'm using a 2560.
02:18 PM Ameisen: you can barely hit 16 microstepping _without_ calculating an arc.
02:20 PM Ameisen: You can certainly do basic movement on Atmel.
02:20 PM Ameisen: However you _cannot_ do full resolution of motion segments.
02:20 PM Ameisen: usually you end up with simple approximations
02:38 PM nuxil: the precition the tarantula is good enuf for me as a start printer.
02:39 PM Ameisen: Sure. I'm just working on full resolution of motion segments, along with smoothing calculations and so forth
02:39 PM Ameisen: based upon some of the papers used for linux cnc and others
02:39 PM Ameisen: also trying to do s-curves in realtime, which is difficult due to the lack of a proper discrete formula for them
02:39 PM MrFahrenheit: Ameisen, marlin seems to have no problems?
02:39 PM Ameisen: Marlin doesn't do any of those things.
02:40 PM MrFahrenheit: I see
02:40 PM Ameisen: Marlin is actually pretty jerky.
02:40 PM Ameisen: It's one of those "good enough" things
02:40 PM Ameisen: particularly for the build quality of most printers
02:40 PM Ameisen: proper smoothing and stepping can give very good results, though
02:41 PM Ameisen: You just need to calculate quite a bit within an ISR, which is problematic
02:41 PM Ameisen: and if you do full s-curves, you generally have to do it _realtime_ instead of delayed
02:41 PM Ameisen: which... is annoying
02:41 PM nuxil: tl smoother? "8 diode smoother on the stepper?
02:42 PM nuxil: have you tried thouse ?
02:43 PM Ameisen: that's not really a smoother it the concept I'm thinking of
02:43 PM Ameisen: those are flyback diodes
02:43 PM Ameisen: I'm talking about algorithmic smoothing of the motion segments
02:44 PM Ameisen: there's papers about it from the linux cnc people
02:44 PM Ameisen: meant to limit jerk caused by the rapid change of direction
02:45 PM Ameisen: You functionally transform hard angles into curves.
02:45 PM skz81: kind of... Circle jerks ?
02:45 PM nuxil: yes. but have you tried using smoothers on the stepper i hear some say it gives better result and some say it has no effects. i was thinking about making one since it only require 4 diode.
02:46 PM Ameisen: It would reduce induction noise back to the steppers
02:46 PM Ameisen: Not all stepper drivers are particularly impacted by it
02:46 PM Ameisen: Would help prevent damage to the driver from induction if you manually move the steppers though
02:47 PM nuxil: so your fork of marlin, what is mainly changed.
02:47 PM nuxil: how is it compared to the official marlin.
02:48 PM Ameisen: Thermal code is entirely rewritten. Stepper code is heavily rewritten. Still working on that.
02:48 PM Ameisen: TODO is to rewrite the primary gcode parser and handlers
02:48 PM Ameisen: haven't gotten to it
02:48 PM Ameisen: and to rewrite the planner (only have rewritten parts of it)
02:48 PM nuxil: looks like you got your hands full :)
02:49 PM Ameisen: Tuna is faster than Marlin, and can execute more gcode instructions within a timeframe than Marlin can
02:49 PM Ameisen: I need to rework the planner to eliminate another bottleneck
02:49 PM Ameisen: the gcode parser is very float-based, which needs to change to eliminate ANOTHER bottleneck
02:50 PM Ameisen: Marlin is actually a very inefficient firmware
02:50 PM Ameisen: it uses floats and uint32 very heavily, and where not neede
02:50 PM Ameisen: needed*
02:50 PM Ameisen: It's also incredibly ackward code
02:50 PM Ameisen: It reads like C++ written by a C programmer
02:50 PM Ameisen: which... ends up weird
02:51 PM nuxil: lol. yea :p
02:51 PM Ameisen: they have a weird mix of global and class state, which is confusing
02:51 PM Ameisen: They were actually interpolating thermistor values using floats
02:51 PM Ameisen: which I found... odd
02:51 PM Ameisen: Especially since it's way faster to do integer interpolation.
02:52 PM Ameisen: the thermistor code needs to be changed a bit more for safety reasons - they are doing some things regarding thermal safety checks on the main loop - all safety-related things should always be in an ISR to guarantee they get run
02:53 PM nuxil: have you suggested some of this to the marlin guys.
02:54 PM Ameisen: Not directly. The issues are pretty deep in marlin and would require a major rewrite that they would likely outright reject.
02:54 PM Ameisen: I think that they are also trying to maintain compatibility with older versions of GCC, and I'm not.
02:57 PM Ameisen: At some point, I suspect I will need to just start from scratch
02:57 PM MrFahrenheit: what about grbl, the cnc fw?
02:57 PM Ameisen: Marlin is based on grbl
02:57 PM MrFahrenheit: til
02:58 PM Ameisen: Not sure why we'd name CNC stuff after gerbils. Then again, 3d printer stuff is named after fish and spiders.
02:59 PM nuxil: :)
03:03 PM Ameisen: the goal, though, is to not require things like jerk calibration
03:04 PM Ameisen: I presently simulate corner smoothing a bit by preprocessing gcode through a compiler which generates arcs at the corners. Just, they aren't real arcs, but rather just subdivided segments... so the more they are, the more likely the motor will stall when the CPU cannot keep up with the number of segments.
03:05 PM Ameisen: proper arc execution on the MCU side is rather expensive.
03:05 PM nuxil: hmmf. eliminating jerking. isnt that actualy impossible ? its jerk's all over the place :p
03:06 PM nuxil: in belts. in leadscrews etc.
03:06 PM Ameisen: You don't need to calibrate jerks if you don't have hard edges
03:06 PM Ameisen: since all actual jerk moments will be very small
03:06 PM Ameisen: especially if you couple it with s-curve ramps and such
03:06 PM Ameisen: It's expensive to calculate, and expensive to execute.
03:07 PM Ameisen: Which is why most firmwares don't, or they try to approximate it
03:07 PM Ameisen: Marlin does some _really_ rudimentary approximations. IIRC, repetier _attempts_ s-curves, but the math isn't right.
03:08 PM Ameisen: they will all try to do multiple steps within a single ISR to try to increase the steprate throughput, but that causes its own problems.
03:12 PM Ameisen: I've been tnkering with offline processing and streaming of raw step data to MCUs instead
03:12 PM Ameisen: you just end up with a _lot_ of data to stream, though
04:27 PM nuxil: time for another cup of coffee :)
04:36 PM Ameisen: I just take long-acting caffeine pills
04:36 PM Ameisen: but I hate the taste of coffee
04:36 PM Ameisen: and the smell
04:37 PM nuxil: o.O really ?
04:37 PM nuxil: how can you hate coffee ? i drink both coffee and tea.
04:38 PM nuxil: i get bad stomach if i drink to much or strong coffee tho. gives me diarea :p
04:40 PM Ameisen: I _hate_ the taste and smell of coffee
04:40 PM Ameisen: like, strongly so
04:40 PM Ameisen: even a tiny bit of coffee in a drink is awful to me
04:40 PM Ameisen: and I notice it right away
04:42 PM nuxil: if anyone tries to give you the "worlds most expensive coffee" do not drink it. the beans are picked from the feaces of the animal civet cats :p
04:43 PM nuxil: Kopi luwak is the coffee called.
04:51 PM * Ameisen tries to design a unary architecture in his head.
04:51 PM * Ameisen dies
04:51 PM Ameisen: not just 1-bit, but 1-bit data representation
04:51 PM Ameisen: but... how do you represent data without having any meaningful form of data break...
04:51 PM Ameisen: because anything that can represent a 'break' would be another kind of data, and thus turns it into a weird 2-bit system.
05:12 PM rue_mohr: 1 bit
05:12 PM rue_mohr: use time to say more
05:13 PM rue_mohr: time can say a lot
05:13 PM Emil: Ameisen: it's all about the interpretation
05:13 PM rue_mohr: you have on time, off time, went-high time, went-low time
05:14 PM rue_mohr: if you know the bit is going to be the oppose state for the next symbol, ignore that aspect of it
05:14 PM Ameisen: Emil - problem is, single-bit encoding is just... always 'high'
05:15 PM Ameisen: 16 in unary is just 1111111111111111
05:15 PM rue_mohr: -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
05:15 PM rue_mohr: or
05:15 PM Ameisen: that's two bit
05:15 PM Ameisen: - and _
05:16 PM rue_mohr: those are 16 1's
05:16 PM Ameisen: yeah, I didn't say it's a good two-bit encoding
05:16 PM rue_mohr: _--_--_--_-_
05:16 PM rue_mohr: thats also 16
05:16 PM Ameisen: just that it is
05:16 PM rue_mohr: Ameisen, your confused
05:16 PM Ameisen: having 'high' and 'low' is two states
05:16 PM rue_mohr: your talking about base 1
05:16 PM rue_mohr: not 1 bit
05:16 PM rue_mohr: 1 bit is base 23
05:16 PM rue_mohr: slkdfjlasdjf
05:16 PM Ameisen: I said a fully unary system
05:16 PM rue_mohr: 1 bit is base 2
05:16 PM Ameisen: which would imply base 1
05:17 PM rue_mohr: base 1 is not 1 bit
05:17 PM rue_mohr: 1 bit can be any base
05:17 PM rue_mohr: ask china
05:17 PM Ameisen: fine. base 1 computing.
05:17 PM Ameisen: Figure out a way to represent data.
05:17 PM Ameisen: since it's just a stream of 'hgih'
05:17 PM Ameisen: high
05:18 PM Ameisen: how to you meaningfully distinguish between data segments
05:18 PM rue_mohr: vai the clock line
05:18 PM rue_mohr: https://www.aliexpress.com/item/TM1637-LED-Display-Module-For-Arduino-7-Segment-4-Bits-0-36Inch-Clock-RED-Anode-Digital/32828323327.html
05:18 PM rue_mohr: ^^ 4 bit display ;)
05:19 PM rue_mohr: you would think they could just read the silkscreen
11:29 PM day__ is now known as day