2026-03-17 00:36:46 How spartan? My models have always tended to be around 30 or so, but it's certainly possible to pare that down further 2026-03-17 01:01:55 tabemann__: I need your help 2026-03-17 01:02:00 given my current set in ilo, I could see easily dropping at least 10 if I was aiming for a truly minimal set 2026-03-17 01:02:03 Zeptoforth has me spinning in circles 2026-03-17 01:02:13 crc like a basic 8 kilobyte forth on x86 abouts 2026-03-17 01:02:16 No matter what I do, it's like interrupts are not triggering properly 2026-03-17 01:02:28 I'm trying to sort of code golf it 2026-03-17 01:02:36 so I n eed it to be relatively spartan 2026-03-17 01:02:43 https://gist.github.com/lf94/b4bc4c2524c52e551c2fa3b0016568a0 2026-03-17 01:02:45 I'm gonna use - for addition for example 2026-03-17 01:03:26 Even a basic `begin sleep again` loop is waking up constantly. 2026-03-17 01:03:50 Then I thought maybe it's the UART mode causing this 2026-03-17 01:04:04 But even it was, nothing is emitting properly now 2026-03-17 01:04:09 And timers are not firing 2026-03-17 01:04:34 that's ultimately not really what I try to do. My models are built around a bytecode vm, and I'm already well under 8k for that. 2026-03-17 01:05:23 if I was writing for x86, I'd probably make some different decisions in a few areas 2026-03-17 01:08:05 lf94_kiwiirc, I dont use zeptoforth myself ( I only use Forth on cortex-m0), but have you checked to see if something is setting a 'interrupt bit' ? 2026-03-17 01:09:54 lf94_kiwiirc, for instance, on cortex-m0 when a peripheral requests a interrupt, the first thing it does is set an interrupt bit, and then your ISR is supposed to clear that bit first 2026-03-17 01:10:16 on x86, keeping under 8k isn't that hard; e.g., retro7 & retro8 were an x86-32 model, and it was about 2-4k binary, and 2-6k of forth compiled on startup 2026-03-17 01:10:53 (these are *very* different models from the current retroforth & konilo) 2026-03-17 01:11:16 lf94_kiwiirc, then your ISR handles all the things you want and finishes. The interrupt will repeat endlessly if the 'interrupt flag bit' isnt cleared by this time 2026-03-17 01:11:58 Gotchya. I'll check 2026-03-17 01:21:31 > . This must be called with the approriate alarm index inside an alarm handler for a given alarm or else the alarm handler will be called in an infinite loop. 2026-03-17 01:21:54 Here I was trying to keep my interrupts tiny 2026-03-17 01:23:49 Yep. It's the UART. Damn. 2026-03-17 01:23:51 > Pass off control to the next active task; if no tasks are active, put the MCU to sleep until an interrupt occurs (typically due to SysTick or USART activity). 2026-03-17 01:27:16 Ok shit is working now 2026-03-17 01:27:40 I guess all interrupt reset should happen inside the interrupt vector? Why is that? 2026-03-17 01:40:17 lf94_kiwiirc, or it will keep interrupting 2026-03-17 01:41:49 lf94_kiwiirc, the ISR keeps the interrupt 'captive', once you leave it, what stops another interrupt from diverting the postponed reset ? 2026-03-17 01:42:20 lf94_kiwiirc, or another 300 non reset interrupts ? 2026-03-17 01:50:23 no idea 2026-03-17 01:50:26 I dont know enough lol. 2026-03-17 01:51:04 Things are working appropriately now, but I think it's because I've gone back to resetting interrupts inside their vectors 2026-03-17 01:57:08 lf94_kiwiirc, thats what has to be done in my experience 2026-03-17 01:57:40 I'm very fresh on embedded programming heh. thank you ! 2026-03-17 01:57:56 lf94_kiwiirc, there may be other ways that work or are even better but this is what Ive always done 2026-03-17 01:58:08 "Very fresh" -> I've done assembly and whatnot in the past, but not in an entirely useful capacity. Usually I'm mimicking what others have written for interrupt vectors 2026-03-17 01:58:14 lf94_kiwiirc, have you set interrupt priorities ? 2026-03-17 01:58:25 No, but I read about them here 2026-03-17 01:58:38 I dont need them from what I understand for my project 2026-03-17 01:58:54 lf94_kiwiirc, well, keep building stuff, that's the best and only way to improve 2026-03-17 01:59:38 Absolutely, always am :D 2026-03-17 01:59:57 lf94_kiwiirc, without interrupt priorities, any interrupts can occur at the same time and it's a toss up which one gets handles first 2026-03-17 02:01:07 Ah gotchya. For me that's not a problem. I'm making a simple input thingy 2026-03-17 02:01:16 I had to set interrupt priorities recently on a project that had only 2 interrupts. Undefined behaviour was happening occasionally and I couldnt work out why 2026-03-17 02:01:20 Out-of-order noisy input is expect lol 2026-03-17 02:01:40 Ah neat 2026-03-17 02:01:47 lf94_kiwiirc, once I se the priorities, it became 100% stable 2026-03-17 02:02:04 Well always a good chance I hit similar issues someone else has lol. 2026-03-17 02:02:08 just something to keep in mind 2026-03-17 02:03:37 In fact I try and limit interrupt use in my projects, just to keep problem diagnosis simple, as things can get out of hand quickly with interrupts 2026-03-17 02:04:48 lf94_kiwiirc, one tip is to create a interrupt 'meter' and use it for a while along with a 'load meter' 2026-03-17 02:06:02 I have 3: 1 for GPIO edges low/high, another for 6ms timer, and another for 300ms output 2026-03-17 02:06:18 basically they just set a very short pulse to a moving coil meter every time a interrupt occurs, or for a different meter at each 'big loop' of your program 2026-03-17 02:06:58 that way you can watch your system performance as you develop it and see what parts really suck the resources 2026-03-17 02:07:22 I dont understand what you mean by meter heh 2026-03-17 02:07:25 interrupt meter 2026-03-17 02:07:31 This is a physical thing I need to probe? 2026-03-17 02:09:20 lf94_kiwiirc, like this https://hackaday.com/tag/load-meter/ 2026-03-17 02:09:43 Oh my god lol. 2026-03-17 02:10:01 (Microcontroller Load Meter Tells You How Hard It’s Currently Working) 2026-03-17 02:10:37 Aight I gotta go, but thank you for the help! 2026-03-17 02:10:43 Will reconnect my bouncer sometime 2026-03-17 02:10:46 no problemo 2026-03-17 02:10:48 I need another network switch 2026-03-17 02:18:14 back 2026-03-17 02:19:23 just missed'im 2026-03-17 02:21:14 yeah, was a simple issue, not zeptoforth related 2026-03-17 02:21:44 just user inexperience using interrupts 2026-03-17 02:25:55 one thing that should've been mentioned, though, is that even when two interrupts have the same set priority, they are not equal in priority in reality on many processors 2026-03-17 02:26:27 for instance, on the RP2040 and RP2350, two interrupts set to the same priority result in the lower-numbered interrupt having higher priority than the other 2026-03-17 02:26:42 why would you set two interrupts to the same priority ? 2026-03-17 02:27:05 because only a certain number of bits are significant in the interrupt priority registers 2026-03-17 02:27:35 for instance, on the M0+ if my memory serves me right there are only *four* priorities -- the rest of the bits are ignored 2026-03-17 02:28:14 tabemann, you soind like a AI bot 2026-03-17 02:28:20 sound 2026-03-17 02:28:29 for this reason the RPi people have carefully selected their interrupt numbering, so that even if you set all the priorities to $FF they would make general sense 2026-03-17 02:28:31 um no 2026-03-17 02:29:01 I know youre not a AI, but you sound like you have become what you hate ... 2026-03-17 02:29:17 in ARM Cortex-M0+ only the top two bits of the interrupt registers are paid attention to 2026-03-17 02:29:28 tabemann, those reasons you have given make no sense in the real world 2026-03-17 02:29:53 do I need to dig up the ARM architecture manual chapter and verse? 2026-03-17 02:30:10 for instance, 4 interrupts is heaps for a little Cortex-M0, if you need more, get a MCU designed for more 2026-03-17 02:30:57 you specifically said why would you set two interrupts to the same priority ? -- and the reason why is that there's far more interrupts available on, say, an RP2040 than there are priorities available 2026-03-17 02:31:10 no, Im sure you can quote line and verse by memory, but without actual real world experience, you are adrift in academia 2026-03-17 02:32:14 tabemann, you know I dont consider the RP2040 a useful device for the real world, only a low cost hobbyist toy 2026-03-17 02:33:02 tabemann, look at the interrupt priority options for a cortex-m4 ? 2026-03-17 02:33:25 iirc there are hundreds of them 2026-03-17 02:33:50 what is this ARM Cortex-M MCU you're speaking of that has only four interrupts, excluding ones with hard-coded behavior that doesn't care about priorities like resets, NMI's, and hardfaults? 2026-03-17 02:34:17 in a very restricted Cortex-M0 world, there is no point providing for more than a few interrupts as it doesnt have the speed or resources 2026-03-17 02:34:49 considering that every ARM Cortex-M0+ MCU at least has a systick (or almost every has a systick), a svc, and a pendsv, which is three interrupts right there? 2026-03-17 02:35:22 so the higher class cortex-m's have them instead, along with all the package types that provide the necessary pins 2026-03-17 02:36:24 whats your point ? they all have a number of system interrupts, but the OP wasnt asking about them specificlly 2026-03-17 02:36:47 he could have been I guess, but he didnt say he was 2026-03-17 02:37:04 tpbsd: I'm talking about priorities -- you can configure priorities for SysTick, SVC, and PendSV just like you can for IRQ's 2026-03-17 02:37:57 tabemann, youre off-track. A M0 doesnt have PendSV for a start 2026-03-17 02:38:12 which if you're limited to four priorities, that means that you have to have non-unique priorities for more than one IRQ 2026-03-17 02:38:16 um I said M0+ 2026-03-17 02:38:23 and the M0+ certainly has PendSV 2026-03-17 02:39:09 oops, sorry I missed that 2026-03-17 02:39:27 Im not familiar with the M0+ as I dont use it (yet) 2026-03-17 02:40:08 the M0+ is essentially an M0 except for the stuff that was skimped on to really reduce the gate count isn't skimped on quite so much 2026-03-17 02:40:08 tho I have recently porchased ten off STM32G030 which are M0+, but I havent used them yet 2026-03-17 02:40:21 yeah, it's a lot more complex 2026-03-17 02:40:41 the M0+ SVD is much bigger 2026-03-17 02:40:56 in fact just reading thru it made me sleepy! 2026-03-17 02:40:58 M0+ gives you some useful things like PendSV (as you mentioned), movable vector tables, and like 2026-03-17 02:41:26 I specifically take advantage of both PendSV and movable vector tables in zeptoforth 2026-03-17 02:41:34 lol, I still have five hundred M0 mcus waiting to be used in my stock ... 2026-03-17 02:42:39 probably the most worth-it feature of the M0+ vis-à-vis the M0 to me is PendSV, as my multitasker specifically uses it by design 2026-03-17 02:42:44 I only purchased the 10 M0+ because STmicro screwed up the 32 pin M0 design by not having external RTC xtal pins 2026-03-17 02:43:15 which they fixed in the L0 and M0+ 2026-03-17 02:44:00 but not having a movable vector table would have also been a pain IMO 2026-03-17 02:44:32 in the G series, they removed the external clock XTAL pins and replaced them with external RTC xtal pins. The system clock is now a highly accurate RC clock, good enough for USB 2026-03-17 02:45:09 tabemann, thats all programmer stuff, no real use to me 2026-03-17 02:45:43 I never use what you call 'real time' 2026-03-17 02:46:00 a hard-coded vector table is okay if all you're doing is flashing a binary and executing it 2026-03-17 02:46:18 but it's a big bother if you ever need to specify vectors at runtime 2026-03-17 02:46:19 sure 2026-03-17 02:46:40 thats all I do 2026-03-17 02:52:43 in a Forth, though, where you are compiling code at runtime, it is useful to be able to set vectors on the fly 2026-03-17 02:53:28 and without a movable vector table, you're essentially limited to creating a big table of little subroutines that fetch the real vector from a table in RAM, and then jump to them 2026-03-17 02:53:31 I'll take your word for it 2026-03-17 02:54:04 in my case I just want to know the vector name that Mecrisp-Stellaris has reserverd for my interrupt 2026-03-17 02:54:10 and then I use it 2026-03-17 02:54:28 I'm a Forth user, not a Forth implimentor 2026-03-17 02:55:05 that's in essence what I described -- it uses an intermediate step to fetch the destination word and then calls it 2026-03-17 02:57:53 I'm happy with the defaults for my m0, ie 'irq-adc' 2026-03-17 02:58:17 I can add more if I need, but I use interrupts sparingly 2026-03-17 03:08:36 to me interrupts are important for implementing features such as serial, USB, and I2C such that they can function without being constantly serviced by a single task 2026-03-17 03:10:29 tabemann, there are a few different schools of thought here, one is that interrupts can be used anywhere, the other is that they should be used sparingly 2026-03-17 03:11:43 I don't think that there is a 'one size fits all' argument given the vast range of mcu's and tasks 2026-03-17 03:12:16 the biggest use case of interrupts to me are when there are buffers that need immediate attention to avoid overflowing 2026-03-17 03:13:03 where if you have a multitasking environment under load, without interrupts you very well may lose bits to the bit bucket otherwise 2026-03-17 03:13:25 sure, but if you have 100 pending interrupts at the same time, you may have a problem ? 2026-03-17 03:14:23 but that's an extreme case that doesn't apply to something like having one interrupt servicing a UART and one interrupt servicing USB 2026-03-17 03:15:39 of course, if you never process the data you get you'll eventually lose it anyways -- but you can generally keep a much deeper buffer in RAM than the buffer provided by the hardware 2026-03-17 03:16:47 I think one can only be sure by having decent instrumentation to provide a 'overall battlefield' view of the mcu rather than just assuming it's all ok 2026-03-17 03:17:32 of course, monitoring also sucks resources and that adds to a possible drain 2026-03-17 03:19:04 a good case to consider is many of the STM32 MCU's, which have a *one byte* buffer for each U(S)ART 2026-03-17 03:19:42 only if one *uses* USARTs 2026-03-17 03:20:11 some of us prefer I2C or SPI, or in my case DEBUG with SWD 2026-03-17 03:20:54 I view a USART as 'the poor mans antique peripheral' and don't use them in my designs 2026-03-17 03:21:19 if one doesn't use USART's there is no overhead to having a USART IRQ handler registered, even though there is an overhead to keeping a buffer in SRAM that does not get used 2026-03-17 10:22:08 I've not even used priorities at work, although not exactly a blazing fast application. I've considered it for pulsing an LED though, don't want the LED to get dimmer or flash if some ISRs are running slower 2026-03-17 10:34:59 veltas, in my case it was two timer/counters onboard a cortex-m0 that needed interrupt priorities set 2026-03-17 10:52:34 What were you doing in the ISRs? 2026-03-17 10:53:47 Personally I find the model of a single threaded CPU with interrupts, with priorities, to be a much easier multitasking model than multiple 'threads' 2026-03-17 10:54:18 At times I've had to fix some nasty race conditions and it's made it a lot easier that we're using a simple model like this, with threads it would only have been harder to lock down 2026-03-17 10:55:19 I was making a few different programs to do the same thing, read the value of a LMT01 temperature sensor 2026-03-17 10:55:50 I've done interrupt programming then recently did a lot of thread programming and am wondering how I did interrupt programming without mutexes 2026-03-17 10:56:34 I tend to rely heavily on disabling interrupts globally for 'critical' sections 2026-03-17 10:56:37 in this case I used one timer/counter to control the voltage supply to the sensor, and the other timer/counter to count the pulses from the sensor once it was energised 2026-03-17 10:56:55 And I just keep my critical sections short + sweet, as if they are ISRs themselves, or smaller 2026-03-17 10:58:11 there are so many ways to design programs, and they all offer a raft of compromises 2026-03-17 10:58:32 What do you think of 2-pin chips? 2026-03-17 10:58:59 which ones are those? 2026-03-17 10:59:08 I myself limit the use of interrupts to critical only areas, and then keep the ISR really short 2026-03-17 10:59:46 veltas, I think 2 pin chips are great for sensors because they save wire 2026-03-17 11:00:05 Not had any issues communicating with them? 2026-03-17 11:00:47 the LMT01 outputs binary constant current pulses which encode the absolute temperature 2026-03-17 11:01:25 veltas, no, theyre really trivial to use, cheap and accurate to 0.3C 2026-03-17 11:01:52 I guess by using priorities you essentially made the priority interrupt a 'critical section' 2026-03-17 11:02:23 There's other ways to do that, but that's probably the least code, assuming it is a full fix 2026-03-17 11:02:42 I think I designed 5 ways to read the chip using various strategies 2026-03-17 11:02:43 And least code is king on an M0 2026-03-17 11:03:26 the M0 is so easy to use, every peripheral is there 2026-03-17 11:04:17 I have 500 off the STM32F051 in 32 pin QFN I purchased in 2014 when a lot was dumped from a big reseller in Dallas. I bought the lot 2026-03-17 11:05:16 it's a great chip, 90nm, 33 peripherals inc a 12 bit DAC, analog comparator and all the usual stuff, 64KB flash and 8KB ram 2026-03-17 11:06:21 it is graded up to 48MHz clock, but I ran one at 108Mhz for 12 months to see if it would last, that was a couple of years ago and i'm using it still 2026-03-17 11:06:48 t 26,5 C 79,6 F ok. 2026-03-17 11:07:20 they were $0.56 each back then 2026-03-17 11:07:42 during covid they hit $7.50 ea USD 2026-03-17 11:08:23 now of course, all the usual chip prices will be going up again 2026-03-17 11:08:44 along with the closure of the Straight of Hormuz 2026-03-17 11:09:19 as helium is used to clean the wafers apparently, or something like that 2026-03-17 11:20:29 should have sold your supply during covid 2026-03-17 11:22:04 :P 2026-03-17 11:22:17 hehe, I wanted the chips not to make money 2026-03-17 11:22:39 who knows, maybe they will be worth more in future 2026-03-17 11:23:52 it's taken me 11 years to get to know the STM32F051 well, I dont want to learn another mcu now as this one does all I need 2026-03-17 11:42:05 It's fairly common for chips to operate well outside their specified range. I worked for a while for a company that made down-hole oil well tools; the owner had built that company around that idea. He bought large batches of components and explicitly tested them, selecting out the ones that would operate in the ranges he needed them to, and then sold the ones that didn't on the spare parts 2026-03-17 11:42:08 market. 2026-03-17 11:43:09 He also had a thermal chamber he used to rapidly age crystals to get them to settle into their long-term stability before putting them in the products. 2026-03-17 11:43:22 Clever guy, though he wasn't the best boss I ever had. 2026-03-17 11:44:59 It was a weird company. Very small and almost more like a family than a business, with him as "Dad." He told me when he hired me he wanted to be able to focus more on business development instead of interacting with the staff most of the time, but none of the employees wanted "Dad" to be replaced, and when they would go around me he wouldn't tell them to go talk to me. So I quickly became fairly 2026-03-17 11:45:02 ineffective. 2026-03-17 11:45:38 He wanted out of that loop, but didn't know how to "let go." 2026-03-17 11:46:48 I left after about a year - got a better offer from a headhunter. 2026-03-17 11:47:44 That was the company where I helped that guy find that reconvergent fanout bug, though, so at least I got that story out of it. 2026-03-17 11:49:42 KipIngram, agreed, but I only overclocked the mcu here, I'd never risk it in a essential customer product 2026-03-17 11:50:33 I like to test stuff to destruction, so I know how far it will go above the 'recommended maximum' 2026-03-17 11:50:48 Yeah, it was a strange model, but he managed to make a successful company out of it. 2026-03-17 11:51:11 I once made up a oil bath to see how hot I could get @N3055's to go before they failed, and what that failure mode would be 2026-03-17 11:51:32 230C and the silicon die melts to slag 2026-03-17 11:51:50 2N3055 2026-03-17 11:51:58 Interesting. So, they continued to work until they literally lost mechanical integrity? 2026-03-17 11:52:03 yep 2026-03-17 11:52:22 I'd say that about the best they could do. :-) 2026-03-17 11:52:28 that's 2026-03-17 11:52:30 the failure was abrupt after gradually heating to 230C 2026-03-17 11:52:35 Yes but as you get closer to melting you've got to imagine shock/vibration would do hard to measure damage 2026-03-17 11:52:54 It is interesting though 2026-03-17 11:53:20 Right, and the downhole well environment is mechanically rough. These instruments got put right into the drill string as a section - they were there working while the well was being drilled. 2026-03-17 11:53:34 Would be interesting to see how well it works after gradually heating it to like 200 many times while operating, with/without vibrations 2026-03-17 11:53:39 I was only interested in the actual temperature that induced failure so I could make sure none of my designs reached it 2026-03-17 11:55:19 that reminds me of a interesting story a friend told me regarding his days as an apprentice at the 'Weapons Research Institute' in Adelaide Australia 2026-03-17 11:55:55 he was one of the people that built the 'blue streak' missile for australia back in the 60's 2026-03-17 11:55:58 I just looked that company up - they're still around, but now appear to primarily market as a contract design company. So maybe that model didn't last long term. 2026-03-17 11:56:17 Or maybe it did - I didn't dig very deeply just now. 2026-03-17 11:56:50 But the blurb I just read stressed the testing and verification elements of their services, and he definitely had that sort of thing down pat. 2026-03-17 11:56:55 he said that initially theyd fire the missile and it would go a certain distance then loose power and go out of control 2026-03-17 11:57:05 Very thorough, statistically correct test suites, etc. 2026-03-17 11:58:14 they eventually tracked it down to the guy building the PSU, he wasnt deburring the holes in the aluminium plate used as a heatsink for the 2N3055's in the series regulating elements 2026-03-17 11:59:17 and the vibration from the rocket would cause the rough edges of the said holes to chew thru the mica washers insulating the T03 cases of the 2N3055's and short them out 2026-03-17 11:59:18 The burs got loose and made mischief? 2026-03-17 11:59:28 Ah. 2026-03-17 11:59:38 simple when you know 2026-03-17 11:59:54 if not for the vibration they may have been ok 2026-03-17 12:00:04 Yeah - that's a good one. 2026-03-17 12:00:37 but then rockets are well know for bad vibration 2026-03-17 12:02:32 I'm impressed they figured it out - that had to have taken a lot of work. 2026-03-17 12:02:54 I don't know how I'd go about figuring out what went wrong when my gadget had literally fallen out of the sky. 2026-03-17 12:03:34 he said it looked like the rocket lost power before going out of control, so that is a clue it may be psu related 2026-03-17 12:03:41 Especially back in the 1960's. 2026-03-17 12:04:02 the missile didnt have a warhead at that stage as it was still under development 2026-03-17 12:04:29 That would have helped - you could put extra stuff in where the warhead would eventually go. 2026-03-17 12:04:30 so they would have recovered it and performed an autopsy 2026-03-17 12:04:46 life was simpler back them 2026-03-17 12:05:15 That's for sure. I felt like it stayed fairly simple through the 1980's or so - it was in the 90's when things started to get nutty. 2026-03-17 12:05:35 Or who knows - maybe I say that just because of when I was born. 2026-03-17 12:05:56 I saw a FLOSS design for a shoulder fired missile on github the other day, it has video that shows everything 2026-03-17 12:06:11 it uses your favorite MCU ! 2026-03-17 12:06:11 But I think the internet has brought a lot of fast change. 2026-03-17 12:06:15 the ESP32 2026-03-17 12:06:27 :-) Well, it's my "today flavor." 2026-03-17 12:06:31 one in the missile and one in the shoulder launcher 2026-03-17 12:07:08 it also uses ready made softwire such as 'openrocket' etc 2026-03-17 12:07:35 I wonder if the author is in gitmo already ? 2026-03-17 12:08:05 lol 2026-03-17 12:08:25 yeah, I was thinking just that the other day, and wondered if the Internet has made me better or worse regarding my designs 2026-03-17 12:09:06 because Im so old, my best designs were done on paper, no computer or Internet back then 2026-03-17 12:09:54 back in the days when my bookshelf was sagging under the weight of all the data books it contained 2026-03-17 12:11:38 KipIngram, and in a couple of years when you begin to know it well enough to design anything with it, it will most likely be the one you'll always use 2026-03-17 12:12:30 modern mcu's are packed with peripherals and tech, they take years to master 2026-03-17 12:12:56 or Im a moron and it's taken me 11 years to master the STM32F051 2026-03-17 12:13:48 anythings possible :) 2026-03-17 12:14:02 Don't worry we're all morons here 2026-03-17 12:14:26 That's the plan - I want something that I can just plunk in and run with. 2026-03-17 12:15:40 veltas, no, Forth programmers I have found to be a bit on the brainy side, I'm the one exception being a electronics tech 2026-03-17 12:16:36 KipIngram, thats the way! all mcu's are more or less similar, with similar capabilities, the best one for you is the one you know best 2026-03-17 12:17:09 like programming languages, once one knows a few, new ones are generally easier 2026-03-17 12:17:49 I think rather we're all very intolerant of 'difficult' stuff and want to make it simpler, when possible 2026-03-17 12:18:15 But we also don't mind problems that are inherently difficult and can't be made easier 2026-03-17 12:18:35 Although we approach these things differently 2026-03-17 12:18:42 I agree, but I don't think that's because we "can't" do complicated. We just have a very low respect level for it. 2026-03-17 12:18:48 agreed! I think that Forth people are naturaly disposed to solve problems 2026-03-17 12:19:29 we like to simplify to the easiest level, break problems down to easily understood parts 2026-03-17 12:19:55 Forth promotes that attitude I think 2026-03-17 12:19:56 Yes, whereas there's a different sort of person who seems to love to make things as involved as possible. 2026-03-17 12:20:36 well it's easiest to design complicated things, it's the simple things that are hard to design 2026-03-17 12:20:57 I think part of it is that it promotes the creation of a priesthood. When something is really really complicated, once you've learned it you're "special." And you can lord that over newcomers to the arena. 2026-03-17 12:21:43 frankly, Ive always had no time for people like that 2026-03-17 12:22:01 Forth is "too easy" to suit such people. And there is a sense in which it's really easy, while still taking a long time to truly master. 2026-03-17 12:22:21 It's sort of like learning chess rules (easy) vs. getting good at chess. 2026-03-17 12:22:27 if I cant explain something to a six year old, I know I dont understand it well enough myself 2026-03-17 12:22:45 Feynman would approve - that was his very philosophy. 2026-03-17 12:23:03 I probably read that when he said it 2026-03-17 12:23:43 someone said "forth is easy to learn, but hard to master" 2026-03-17 12:23:45 AI generated crud has started to appear billing itself as Feynman. It sucks - we're becoming able to put words in the mouths of the dead. 2026-03-17 12:24:06 oh yeah, the world is drowning in AI crud 2026-03-17 12:24:26 The really worrying thing is that there are a lot of people who will buy it. 2026-03-17 12:24:36 I thought the Internet had too much crud before AI came along, little did I know ... 2026-03-17 12:24:54 Oh yeah - I've learned to avoid saying "it can't get any worse." 2026-03-17 12:24:59 It can ALWAYS get worse. 2026-03-17 12:25:04 I've done 3 things with AI lately that were very useful 2026-03-17 12:25:09 hahahah, thats so true 2026-03-17 12:25:35 I added a "dump" command to my little monitor that pretty prints memory content, in that common "hex on the left, ASCII on the right" style. 2026-03-17 12:26:08 I asked ChatGPT to produce that C function for me, and it actually got it perfect on the first go. I had to tip my hat - for once it worked. 2026-03-17 12:26:57 I've begun to be able to recognize when it's lost its way, and I just stop trying. It's like once it gets itself on a logical merry-go-round it can't get off. 2026-03-17 12:27:13 I designed a complex device, a 'solid particulate level detector' back around 2013 and built and sold them up to 2020. Its a PIC16C84 powered device and runs C. I gave my AI the C files and asked it "what is this and what does it do' and it was 99% correct, just amazing 2026-03-17 12:27:42 As much as I occasionally criticize it, it's impressive technology. 2026-03-17 12:28:05 yeah, I too can tell when my AI goes off into lala land 2026-03-17 12:28:14 I'm just really impressed with how well it can carry on a basic conversation. It really can feel like you're conversing with a human, which I suppose is "passing the Turing test." 2026-03-17 12:28:35 Then once it gets itself bound up, you start thinking "no human could be THIS stupid." 2026-03-17 12:28:58 the second use was to give me a recipie to make a meal using food on hand. I was very happy with the result 2026-03-17 12:29:06 heheh 2026-03-17 12:29:15 Yes, I've used it that way too. 2026-03-17 12:29:58 oh and the 3rd was telling me how to use a old geneweb backup of mine to build a geneweb webserver from it 2026-03-17 12:31:14 I made a great genaology of my family going back to about 1870 in the uk when records are hard to find. Then I lost it when I took the cloud server down, after making a backup 2026-03-17 12:32:11 Ive wanted to get it going again so as to make up some Raspberry PI units with wifi to send to family members 2026-03-17 12:32:55 so they can easily access the family history via a cellphone 2026-03-17 12:33:45 so that was three useful cases of AI. Its not a fraud, it really works, but like any tool it has limits 2026-03-17 12:34:43 The 'jagged intelligence' of AI is very strange 2026-03-17 12:35:09 It can do stuff smarter than any man alive and yet can't answer questions a 10 year old would solve 2026-03-17 12:35:12 Or younger 2026-03-17 12:35:21 hahah, true 2026-03-17 12:35:34 I know some genius 6 year olds 2026-03-17 12:35:49 But yes you can't ignore LLMs etc, it's an important technology 2026-03-17 12:36:13 absolutely 2026-03-17 12:37:23 I asked one once "describe a self oscilating inverter that uses two NPN transistors and a transformer' and it's answer was as good and probably better than a lot of electronics people 2026-03-17 12:44:02 my AI "GLM5" is a Forth adept, Im really impressed 2026-03-17 12:44:17 someone made sure it had all the Forth training data 2026-03-17 12:46:01 They sometimes lie through their teeeth like undergrad students.  But usually they are ok, these LLMs.  Much better at written communication than I. 2026-03-17 12:47:07 hahah 2026-03-17 12:47:42 yeah, tho id put it like this 'They sometimes lie through their teeeth like politicians' 2026-03-17 12:47:57 as they can be so convincing 2026-03-17 13:14:38 I remember early on they really struggled to generate Forth code, don't know how it is now 2026-03-17 13:14:48 I suspect was lack of training, and because Forth is so different anyway 2026-03-17 13:15:34 yeah they were terrible with Forth 2026-03-17 13:15:41 they still may be 2026-03-17 13:16:42 but I started using Kimi-K2 (chinese FLOSS) and found it knew a lot of forth, then switched to GLM5 (chinese also and FLOSS) and it's even better 2026-03-17 13:17:05 it can handle decent stack gymnastics 2026-03-17 13:17:42 because theyre FLOSS, theyre free so I only pay for the hosting resources 2026-03-17 13:18:01 Ive spent maybe $2.20 in the last 12 months on them 2026-03-17 13:18:14 for about 2 million tokens 2026-03-17 13:33:07 the sun is shining :) https://labynet.fr/solar.jpg 2026-03-17 14:01:41 tpbsd: I've done some research on my family tree. I've been able to trace one grandparent line back into Germany. Most of my threads ran out of steam in the early American years, though I have found enough to get my daughters into DAR (Daughters of the American Revolution) if they fancied that. I was able to document service in that war among three different ancestors. 2026-03-17 14:02:08 KipIngram, LUCKY! 2026-03-17 14:02:37 my searches petered out once I couldnt access computer records 2026-03-17 14:02:46 Finding really reliable documentation gets very hard - you definitely can't rely on trees other people have put together. Looking them over, though, is very interesting - you find that a huge proportion of online trees go back to the same handful of early American people. Noteworthy people - I presume people just like to claim descent from them. 2026-03-17 14:03:12 In the U.S. census data has been digitized way, way back. 2026-03-17 14:03:50 Early on it wasn't as good - the records didn't include as much information. But before too long they added more details (good lists of children in the home), and that makes it pretty easy to track people decade to decade. 2026-03-17 14:04:41 So I started with the people I knew from my own life and started following the census thread backward in time. 2026-03-17 14:04:53 my ancestry is mainly all UK, and their records are poor, just hand written one liners in a registry in each town, births and deaths 2026-03-17 14:05:45 By genetics I'm almost totally UK. 2026-03-17 14:07:02 23andMe breaks some things down by parent, and it looks like my dad sprung out the southeast of England, with a bit of Netherlands in him, and my mom from the northest (Scotland, etc.) with a bit of Norwegian. 2026-03-17 14:07:20 KipIngram, I was looking at mine recently, it's from the UK and around it to varying extents, like norway, greenland etc 2026-03-17 14:07:57 haha, maybe they just tell everyone that ;-) 2026-03-17 14:08:04 tabemann: I sent you a message on Discord 2026-03-17 14:08:11 I could really use your help lol. 2026-03-17 14:08:23 My big takeaway from it is that I am very much the "bad guy" in the eyes of the modern left. Very white, very Anglo, and male to boot. :-) 2026-03-17 14:08:30 https://gist.github.com/lf94/146ddae6899ea944634eeac0caa9930b 2026-03-17 14:08:39 gpio interrupts are still acting hella weird for me 2026-03-17 14:08:45 Wondering if you see anything obvious 2026-03-17 14:08:50 KipIngram, brother!! 2026-03-17 14:08:59 :-) 2026-03-17 14:09:38 KipIngram, we are a minority these days I read, virtually an endangered species 2026-03-17 14:10:33 Well, I managed to make it through my "productive" life without getting cancelled, so I figure I'll be ok now. 2026-03-17 14:10:43 KipIngram, my grandfather was a huge man, a sailor on the clippers shipping wheat from australia to the UK, my mother said 2026-03-17 14:11:14 Oh, neat. I think going out there in those little ships (by today's standards) took a lot of guts. 2026-03-17 14:11:15 hahaah, Im amazed Im still kicking at 71+, all the crazy things Ive done 2026-03-17 14:11:37 ;-) I had a couple of tastes of crazy over the years. Mostly pretty tame, though. 2026-03-17 14:11:54 yeah, no cellphone, no hospitals, only the wind for power 2026-03-17 14:11:58 I did enough that I don't look back and regret missing stuff. 2026-03-17 14:12:46 yeah, I dont regret not doing anything, Im glad to be in one place now, quietly doing Forth projects in my senility 2026-03-17 14:13:27 You seem far from senile to me. I feel the same, though - I'm only six months into retirement, but so far I'm loving it. 2026-03-17 14:13:52 My wife brings home stories from her office, and over and over I think "I don't have to worry about that crud anymore." 2026-03-17 14:14:09 hahah, Im not in the least senile, tho it annoys me if I cant immediately recall something important at the time 2026-03-17 14:14:11 I always just despised office politics. 2026-03-17 14:14:26 71, wow! 2026-03-17 14:14:41 same, which is why I have mostly worked for myself 2026-03-17 14:14:43 If everything you knew was immediately accessible you wouldn't know much. 2026-03-17 14:14:46 of course we're not going to call each other senile for doing Forth here, but nevertheless, I suppose that most Forth programmers feel alienated from the general programming world 2026-03-17 14:14:58 Most of that stuff gets cycled to archival storage and has to get fetched back. 2026-03-17 14:15:46 vdupras: Yeah, I do feel like Forth gets shunned more than it should. 2026-03-17 14:15:48 lf94_kiwiirc, but it seems like just the other day I was 18 and encountered microprocessors for the first time, a 16 bit national PACE cpu 2026-03-17 14:16:26 Shunning things we don't understand is human and Forth requires a rewiring of the mind. 2026-03-17 14:16:56 vdupras, luckily my conceited feeling of superiority protects me from that ;-) 2026-03-17 14:17:13 tpbsd: exactly :) 2026-03-17 14:17:18 hahah 2026-03-17 14:18:40 I have generally found Forthers to generally be the nicest, most polite, clever, highly focussed and stubborn people ever 2026-03-17 14:19:17 "stubborn"... I have seen stubborn people using any language :D 2026-03-17 14:19:22 youd have a better chance reconciling trump and iran than changing a forthers mind! 2026-03-17 14:19:38 C, Rust... each definitely have their own diehards. 2026-03-17 14:20:20 actually I find Rust people friendly 2026-03-17 14:21:58 Much much than C for sure - they had to be open minded to change in the first place right heh 2026-03-17 14:22:07 vdupras, I dont feel alienated, but then I've never felt peer pressure. What I do feel is sorry for C users trying to do embedded when Forth is available 2026-03-17 14:22:17 Eventually they grow their hard Rust crab shells though ;) 2026-03-17 14:22:23 hahah 2026-03-17 14:22:33 lf94_kiwiirc, you a kiwi ? 2026-03-17 14:23:16 ACTION is an ausie 2026-03-17 14:23:24 I guess we'd have to define "alienated" to reach an agreement. What I mean is that I'm unable to communicate powerful ideas that Forth semantics enable to other people from the programming world 2026-03-17 14:23:33 ahh 2026-03-17 14:23:51 What's one idea you find hard to convey? 2026-03-17 14:24:01 mostly immediateness 2026-03-17 14:24:13 so you can begin talking about macros, but it ain't quite it 2026-03-17 14:24:24 vdupras, as I'm a simple electronics tech, a Forth user not a Forth implimeter, you and I operate on vastly different levels 2026-03-17 14:25:53 vdupras, I amd beginning to develop a lust for stack gymnastics tho, I feel that a love for that may be at the heart of Forth 2026-03-17 14:26:02 so conversations usually end at "oh, so it's like macros", then "yes, but try to imagine where it can lead!", then blank stares 2026-03-17 14:26:15 hahaahah 2026-03-17 14:26:30 I know those 'blank stares' 2026-03-17 14:27:08 straight out of monty Python 'what floats on water?' ... a witch! 2026-03-17 14:27:19 ... tiny rocks 2026-03-17 14:28:34 Ah immediateness, yeah, that's a fun one... I just say it lets me modify the interpreter before things run 2026-03-17 14:38:00 tpbsd: What areas of UK did your search stop in? Because often you can find more info in church registers etc 2026-03-17 14:39:12 It's interesting that the church seems to have useful family tracing info like marriages and christenings, when nothing else will 2026-03-17 14:39:29 veltas, I dont recall exactly, but I just did basic googling 2026-03-17 14:40:10 And also funny that I don't think you can get that info publicly today about people, not easily anyway, as everything's digital now 2026-03-17 14:40:13 veltas, but now the AI has told me how to get geneweb up again, I'll probably use AI to do some searching for me 2026-03-17 14:40:15 They'll probbaly lose it all 2026-03-17 14:40:55 yeah, one thing I have accepted is 'nothing lasts forever' 2026-03-17 14:41:54 ^ Another reason why I love Forth: it doesn't have last, it's easy to rediscover :) 2026-03-17 14:42:17 lf94_kiwiirc, interrupts are not the simple things you may expect and there are many possible dramas using them 2026-03-17 14:42:34 tpbsd; I've got 2 now lol. Surely it is something simple 2026-03-17 14:43:29 if it was simple you wouldnt need tabemanns help ? 2026-03-17 14:44:13 as a tech, I wish I had a dollar everytime some said 'can you fis this, Im sure it's something simple' 2026-03-17 14:44:23 fix 2026-03-17 14:45:34 Simple in that surely there are 1 or 2 misunderstandings at play 2026-03-17 14:45:47 hey guys 2026-03-17 14:46:02 will be on only for a bit, gotta get ready for work soon 2026-03-17 14:46:02 I've re-read the datasheet even, read C equiv. code. I'm at a loss. 2026-03-17 14:46:20 All good tabemann! I need your help regarding Zepto but it can wait until later! 2026-03-17 14:46:36 no, I can help you now 2026-03-17 14:46:41 https://gist.github.com/lf94/146ddae6899ea944634eeac0caa9930b 2026-03-17 14:47:01 2 interrupts, a gpio edge & timer alarm. The edge detector is just sometimes never firing. It's very weird 2026-03-17 14:52:30 you should, in your interrupt handler, clear GPIO interrupt flags one by one after you test them as being true 2026-03-17 14:53:14 I don't know if just clearing all the flags at once regardless of whether they are true or not is the source of your problem, but in theory your code could result in missed interrupts 2026-03-17 14:53:32 Yeah in the handler I am clearing 2026-03-17 14:53:44 interrupt.edges.reset 2026-03-17 14:55:25 that might be your problem 2026-03-17 14:55:41 It says in the docs that I should be doing that tho 2026-03-17 14:55:59 no, the problem isn't that you're resetting the interrupts 2026-03-17 14:56:22 the problem is that you aren't resetting each flag after you test it specifically and it turns out to be true 2026-03-17 14:56:45 the reason why is that if an interrupt flag goes true between the time you test it and you reset it it may be lost 2026-03-17 14:57:34 Oh I'll do that then :) 2026-03-17 14:57:37 thanks! 2026-03-17 14:57:53 So many small particularities for microcontrollers...! 2026-03-17 14:59:17 try this: https://gist.github.com/tabemann/8ab68e71aea46e48e2ef4de503e920f9 2026-03-17 14:59:26 This is just a standard race condition 2026-03-17 15:00:10 :') 2026-03-17 15:00:24 I'll try it after work, truly thank you 2026-03-17 15:00:38 I spent about 12 hours yesterday re-writing this small Forth code from scratch 2026-03-17 15:00:56 I had the interrupts working, but every time I added more code, they stopped working! 2026-03-17 15:01:06 So race condition is a good reason. 2026-03-17 15:01:19 gotta go now, though, msg me if you have any questions (I'll be at work and get your messages when I get home) 2026-03-17 15:01:45 Roger that! 2026-03-17 15:07:05 for anyone who is interested I had my AI tell me what lf94_kiwiirc code did at https://bpa.st/I2QJO 2026-03-17 15:08:02 lf94_kiwiirc code --> https://gist.github.com/lf94/146ddae6899ea944634eeac0caa9930b 2026-03-17 17:11:25 Ugh 2026-03-17 17:11:30 I bet you don't miss meetings KipIngram 2026-03-17 23:20:04 Thought I'd look at stars with my binoculars, can make out the brightest moon of Jupiter