00:00:00 --- log: started forth/20.03.30 00:11:37 --- quit: the_cuckoo (Remote host closed the connection) 00:19:51 --- join: proteusguy joined #forth 00:19:51 --- mode: ChanServ set +v proteusguy 00:25:29 --- join: gravicappa joined #forth 01:36:09 --- quit: cheater (Quit: leaving) 01:36:49 --- join: cheater joined #forth 02:21:17 --- quit: cartwright (Remote host closed the connection) 02:26:54 --- join: cartwright joined #forth 03:18:00 --- join: mtsd_ joined #forth 03:20:07 --- quit: mtsd_ (Client Quit) 03:20:41 --- quit: mtsd (Ping timeout: 256 seconds) 04:08:49 --- join: proteus-guy joined #forth 04:26:03 --- join: mtsd joined #forth 05:25:36 --- quit: dne (Remote host closed the connection) 05:26:23 --- join: dne joined #forth 05:50:31 --- quit: iyzsong- (Quit: ZNC 1.7.1 - https://znc.in) 05:55:27 --- join: dddddd joined #forth 06:13:15 --- join: tabemann_ joined #forth 06:16:00 --- join: tpbsd joined #forth 06:16:04 --- quit: tpbsd (Changing host) 06:16:04 --- join: tpbsd joined #forth 06:16:10 --- quit: tp (Read error: Connection reset by peer) 06:16:10 --- quit: _whitelogger (Ping timeout: 240 seconds) 06:16:11 --- quit: dne (Ping timeout: 240 seconds) 06:16:11 --- quit: tabemann (Ping timeout: 240 seconds) 06:16:12 --- quit: cheers (Ping timeout: 240 seconds) 06:17:46 --- join: dne joined #forth 06:18:29 --- join: Guest373 joined #forth 06:18:55 --- join: _whitelogger joined #forth 06:23:50 --- quit: mtsd (Quit: Leaving) 06:24:42 --- nick: tabemann_ -> tabemann 06:26:35 tpbsd, have you noticed any issues with zeptoforth repeatedly rebooting? 06:44:35 --- part: nonlinear[m]1 left #forth 06:48:16 tabemann, nope it's been runningth last 12 hrs and hasnt rebooted 06:54:15 --- quit: jsoft (Ping timeout: 256 seconds) 06:56:28 --- join: xek joined #forth 06:58:13 --- quit: xek_ (Ping timeout: 252 seconds) 07:14:49 --- quit: gravicappa (Ping timeout: 258 seconds) 07:17:24 --- join: gravicappa joined #forth 07:18:21 tpbsd: weird 07:18:47 well it's good to hear that it's working for you at least 07:21:23 I've gotta start working though 07:21:25 bbl 07:21:39 cya! 07:25:43 --- quit: tabemann (Ping timeout: 252 seconds) 08:10:50 --- quit: C-Keen (Ping timeout: 260 seconds) 08:10:50 --- quit: APic (Ping timeout: 260 seconds) 08:11:20 --- join: APic joined #forth 08:45:02 --- join: jackdani1l joined #forth 08:45:34 --- quit: WilhelmVonWeiner (*.net *.split) 08:45:58 --- join: WilhelmVonWeiner joined #forth 08:47:44 --- join: C-Keen joined #forth 08:48:09 --- nick: C-Keen -> Guest95247 08:49:37 --- quit: siraben (Ping timeout: 256 seconds) 08:49:40 --- quit: jimt[m] (Ping timeout: 260 seconds) 08:53:10 --- nick: jackdani1l -> jackdaniel 08:53:35 --- quit: jackdaniel (Quit: leaving) 08:53:47 --- join: jackdaniel joined #forth 09:42:57 --- quit: gravicappa (Ping timeout: 240 seconds) 09:43:45 --- join: gravicappa joined #forth 09:45:11 --- join: siraben joined #forth 09:58:09 --- join: jimt[m] joined #forth 10:02:28 --- quit: xek (Read error: Connection reset by peer) 10:03:54 --- join: xek joined #forth 10:16:05 --- quit: Guest95247 (Changing host) 10:16:05 --- join: Guest95247 joined #forth 10:16:31 --- nick: Guest95247 -> C-Keen 10:40:15 --- quit: tpbsd (Remote host closed the connection) 10:40:30 --- join: tpbsd joined #forth 10:40:30 --- quit: tpbsd (Changing host) 10:40:30 --- join: tpbsd joined #forth 12:25:03 --- nick: ornxka_ -> ornxka 13:29:27 --- quit: gravicappa (Ping timeout: 252 seconds) 13:36:14 --- quit: xek (Ping timeout: 256 seconds) 13:53:23 --- join: WickedShell joined #forth 15:13:37 --- join: dave0 joined #forth 15:26:52 --- quit: Guest373 (Quit: Guest373) 15:28:59 --- join: cheers joined #forth 16:30:52 --- quit: X-Scale (Ping timeout: 256 seconds) 16:32:15 --- join: X-Scale` joined #forth 16:32:57 --- nick: X-Scale` -> X-Scale 16:43:27 TIL my minus was the wrong way around 16:43:57 I am having fun debugging my mix of assembly and forth programming mistakes 16:46:51 Do forths usually define <= and >= ? 17:03:52 veltas: Why not? 17:04:57 Space is why not 17:05:10 And so I am sticking to conventional stuff 17:05:17 I thought I'd ask since it's not in Forth 2012 17:06:18 I am tempted to add it just because I already tripped up trying to 'think' with only < and >, I am too used to having <= and >= 17:06:19 ToS is the first Argument so "1 0 -" is correct, and the other one like in GForth is twisted. 17:06:58 What? 17:07:58 : <= swap > ; 17:08:12 " 1 0 - -1 = " 17:09:01 MrMobius: wrong 17:09:17 But well intentioned 17:10:18 GForth has "-" swapped for no good reason. Although it is at least documented, as an excuse for RPN. 17:12:31 So 1 2 - becomes 1? 17:12:57 I did not realise this when I used GForth! That is nasty 17:13:44 MrMobius: My > is : > SWAP < ; 17:14:43 but shouldn't it be 2nd - TOS ? so 5 3 - 2 * p gives 4 ? when you convert infix to postfix ? 17:15:15 Are you in every channel? 17:15:15 (5 - 3) * 2 ==> 5 3 - 2 * 17:15:26 In GForth, and I guess most Forths, " 1 2 - -1 = ". 17:15:48 DKordic: That is what I thought was correct 17:16:01 So what are you saying is correct? 17:16:09 I disagree. 17:16:22 It makes a lot more sense if the expression doesn't change order, you just put the operators "on the right" 17:16:25 veltas: i'm not a stalker if that's what you mean ;-p 17:16:45 Nah more like "it's a small world after all" on IRC 17:16:51 " 0 - " should be " negative ". 17:17:30 Okay DKordic that is your opinion 17:17:41 I much prefer the one where maths is more readable though 17:18:25 : negate 0 swap - ; 17:18:54 That is an idea 17:19:24 I have that in assembly right now, will be nicer and shorter in forth 17:21:23 I do not care about ""maths"" nor ""readable"" nor ""readable maths"" ;) . 17:22:29 veltas, wrong but well intentioned :P 17:22:39 What is wrong about it? 17:22:56 your > is true when both are equal 17:23:12 If both are equal < will be false 17:23:15 not just when a > b 17:23:37 I think you're confusing SWAP with INVERT somehow 17:24:05 Like < is literally just > written the other way around, hence SWAP 17:24:21 i think this is right : <= > =0 ; 17:24:31 Yes that too 17:24:32 lol 17:25:42 0= but yes 17:25:46 --- join: tabemann joined #forth 17:26:38 oh right haha 17:26:54 What is the OOP sequel to Forth called? 17:26:55 * dave0 <== still a newbi 17:26:56 e 17:27:00 Is it Forth 1+ ? 17:27:10 --- quit: tabemann (Client Quit) 17:27:12 Me too dave0 I know what it's like 17:29:55 dave0: That has got my NEGATE down to 15 bytes from 25 bytes 17:32:12 lol cool ! 17:33:56 --- join: tabemann joined #forth 17:34:04 someone here has an interesting word like (a b flag) where it returns a if flag is true, else it returns b 17:34:14 you could make it branchless 17:34:29 or constant time, so you could use it in crypto 17:36:17 i saw some assembly code in openssl to do that.. copies a or b to r depending on a flag 17:41:34 Very cool 17:42:04 Weirdly it helps to have branchless code in Z80 as well, if timing matters, because branches usually take longer than passes 18:14:14 back 18:15:01 hey guys 18:15:26 Hello 18:23:52 busy testing zeptoforth on stm32f407 to see if it spontaneously reboots again 18:24:10 even though tp said that he had been running it on his for hours withoug any problem 18:39:48 --- join: rdrop-exit joined #forth 18:44:11 hey 18:44:24 hi tabemann 18:44:37 need coffee brb 18:45:09 I think I've discovered a problem with the f407 when it's clocked too fast, namely that it randomly reboots 18:45:24 the weird part is that tp doesn't get this problem with zeptoforth and I do 18:49:14 tpbsd 18:49:30 it seems I've solved the problem - by slowing down the clock 18:56:23 tabemann, my unit has been on since we last talked here, no resets 18:57:34 weird 18:57:46 at 168 MHz mine was regularly resetting 18:57:50 dave0, negate is "not 1+" in 2's complement 18:57:57 --- join: boru` joined #forth 18:58:00 --- quit: boru (Disconnected by services) 18:58:03 --- nick: boru` -> boru 18:59:12 hi tp 19:01:45 rdrop-exit, Zen Forth Guru! 19:01:48 --- quit: tabemann (Ping timeout: 240 seconds) 19:02:37 dave0, or equivalently "1- not" 19:03:16 --- join: tabemann joined #forth 19:03:28 back 19:03:42 last thing I saw was dave0, negate is "not 1+" in 2's complement 19:04:16 dave0, or equivalently "1- not" 19:04:56 tabemann, there's a site that has the Forth IRC log 19:05:18 in case your chat program is losing lines 19:05:21 http://tunes.org/~nef/logs/forth/20.03.30 19:06:48 okay, for what got lost: 19:06:54 my thought is your machine provides more power to the board than mine 19:06:58 so at 168 MHz it was occasionally having brownouts 19:07:01 on my machine 19:09:38 because now at 120 MHz it's not rebooting anymore 19:15:49 tabemann, mine is powered by two usb psu's, you may be right 19:19:01 tabemann, Ive removed one psu, now it's powered by a usb3.3v dongle 19:20:57 tabemann, I've just measured the current drawn by the entire boar, it = 0.09 A 19:21:31 thats only 90 mA 19:22:01 --- join: jsoft joined #forth 19:22:57 interesting 19:23:22 why would mine be unstable at 168 MHz while yours is not? 19:24:18 hmm I reset the board and my dinky USB power meter now shows 0.17 A 19:24:44 are you running the code with my sleep in place? 19:25:09 search task.fs for "sleep" (without quotes) 19:26:00 by comparison my M0 running at 75 Mhz (overclocked) board draws 0.02 A 19:28:14 just loading basic.fs atm 19:28:46 tabemann, how do I compile basic.fs into flash ? 19:28:51 the kernel + basic.fs does a spinwait 19:29:06 tpbsd: when you load it it should do it itself 19:29:36 the first non-comment, non-blank line in basic.fs is compile-to-flash 19:29:41 it doesnt compile into ram by default ? 19:29:49 no 19:30:47 it's essentially everything you'd want to have which isn't in the kernel and isn't stuff like systick, interrupt USART, multitasking, or extra peripheral drivers (e.g. LEDs) 19:30:51 oops, sillme I should have checked! 19:31:15 so naturally it'd compile itself into flash 19:32:02 what, have you been reloading basic.fs every time you power cycle? 19:32:03 and it is, I can reboot and "words" is still there 19:32:07 yeah 19:32:39 that's a good way to eat up flash quickly 19:32:47 basic.fs is pretty large these days 19:32:47 It didnt give me a heap of 'redefined' warnings 19:33:02 20k 19:33:04 that's because zeptoforth currently doesn't have those 19:33:10 no problemo 19:33:22 it's going well at this early stage! 19:33:59 I meant it more as Im so used to seeing 'redefined' so I just assumed .... 19:34:33 I should make a mechanism to compress code compiled to flash by omitting a lot of the padding optionally 19:35:14 I havent loaded task.fs as yet 19:35:38 how do I erase flash to get rid of all the many basic.fs ? 19:43:58 unfortunately I don't have erasure implemented for the f407 yet 19:44:06 so basically you have to st-flash erase 19:44:12 ah ok 19:44:33 I should have thought of that myself! 19:47:08 tabemann, I see "sleep" is commented out in task.fs 19:47:24 I havent loaded task.fs as yet 19:53:48 okay, so task.fs will do a busy-wait 19:54:26 do you want it loaded ? 19:54:34 do you want the sleep uncommented ? 20:00:37 the reason to have it commented is that I was having IO problems with sleep in place 20:00:49 i know 20:01:15 you want me to try it ? 20:01:24 why did you mention it above ? 20:01:24 I was asking because if it did work for you, having sleep in place might reduce power usage 20:01:35 oh ok, easily done 20:01:39 and I didn't know if you had it in place or not 20:01:49 not yet, I'll try it now 20:02:27 it likely will fail to load source files after loading task.fs with that in place 20:03:03 hey that was cool! 20:04:36 the sleep command was run, power dropped to 0.07A and when I hit enter it woke up and gave the prompt, but then halted wi*** exit status: 0 **"th " 20:05:20 so looked good, just raised a exception on retirning from sleep I guess 20:06:42 reboot and then running "sleep" results in it staying asleep 20:06:53 so youre pretty close I think 20:07:52 so real power usage for the whole board is 0.17 A or 170 mA 20:08:00 which is pretty high 20:14:39 back 20:15:23 I added code compression 20:15:30 and got basic.fs down to 13K 20:15:56 exit status: 0 isn't an error message zeptoforth produces 20:16:15 so where did it come from ? 20:16:17 sounds like an error from sleep 20:16:30 zeptoforth doesn't have numeric error codes 20:16:35 sleep produces a error on th terminal ??? 20:16:57 errors in zeptoforth are actually all functions that, when called, produce a human-readable error message 20:17:12 : handle-waiting-tasks ( task -- ) ok 20:17:12 ok 20:17:12 dup start-task @ = if ok 20:17:12 ok 20:17:12 dup task-active @ 1 < ok 20:17:13 ok 20:17:15 over task-wait @ or ok 20:17:17 ok 20:17:19 over task-systick-delay @ -1 <> ok 20:17:21 ok 20:17:23 systick-counter @ 3 pick task-systick-start @ - unable to parse: systick-counter 20:17:25 ok 20:17:27 3 roll task-systick-delay @ u< and or stack underflow 20:17:29 ok 20:17:31 if not compiling 20:17:33 ok 20:17:35 sleep 20:17:37 *** exit status: 0 *** 20:17:57 but zeptoforth produces the "*** exit status: ***" ? 20:18:09 the 0 comes from the MCU ? 20:18:14 that's probably because the usart2 clock isn't awake in low power mode 20:18:25 which would be a bug 20:18:35 ah yes, I thought that might be the case 20:18:42 easy to fix tho 20:18:45 also, you forgot to load systick.fs 20:18:56 you need to load that before task.fs 20:19:03 oh! 20:19:20 Ill try that all again then 20:19:41 I'm using Picocom, I cant run e4thcom on FreeBSD 20:19:42 and now I know why usart2 isn't waking up - the systick wasn't active to wake it up 20:20:02 ill erase and reload everything 20:20:13 so there's a bug in how usart2 is configured 20:20:24 but systick at least partially masks it 20:20:29 ok 20:20:30 brb 20:21:37 what files should I load and in what order ? 20:27:36 back 20:27:57 look at src/stm32f407/forth/setup.fs 20:28:09 ok 20:28:21 it's not really a forth source file as much as a bunch of directives for e4thcom 20:28:37 aside from the (useless on F407) cornerstone at the end 20:33:10 oh ok 20:33:33 setup.fs is fine for what I need 20:36:36 tabemann, do you have a list of zeptoforth compiler error warnings ? 20:37:03 or a grep suggestion to find them ? 20:38:24 tabemann, should it reboot after loading systick ? 20:38:29 ['] systick-handler systick-handler-hook ! ok 20:38:29 ok 20:38:30 SYST_CSR_TICKINT SYST_CSR_ENABLE or SYST_CSR bis! ok 20:38:30 ok 20:38:30 ; ok 20:38:30 ok 20:38:32 ok 20:38:34 ok 20:38:36 \ Reboot ok 20:38:38 ok 20:38:42 reboot 20:38:44 *** exit status: 0 *** 20:39:51 back 20:39:55 yes 20:40:38 i just realised I can look in the source, Im a bit dumb today 20:40:47 must be the zeptovirus 20:43:25 you're not dumb at all 20:44:09 well done tabemann !!! 20:44:25 0.07 A quiescent and all working 20:44:37 thats impressive 20:44:50 --- join: gravicappa joined #forth 20:45:02 the actual cpu power will be a lot less as I'm measuring the whole board atm 20:45:38 I'll dig out my shielded multimeter measuring gear later and determine the power with better accuract 20:46:12 one problem measuring the power is all the RF on the board which affects a sensitive moiving coil meter 20:49:54 ok 20:49:54 : happy ." only 0.09A ! cr ; unable to parse: only 20:50:02 oops 20:50:51 : happy ." only 0.09A ! " cr ; ok 20:50:51 happyonly 0. 20:51:50 : happy1 ." only 90 mA " cr ; ok 20:51:50 happy1only 90 mA 20:51:50 ok 20:55:40 : happy2 cr ." only 90 mA ! " cr ; ok 20:55:40 happy2 20:55:41 only 90 mA ! 20:55:41 ok 20:56:15 hmm 20:56:18 : happy3 cr ." Zeptoforth is asleep and the F4 Disco is only using 90 milliamps " cr ; ok 20:56:18 happy3 20:56:18 Zesco is only usin 20:56:18 ok 20:58:06 back 20:58:40 tabemann, no I'm not dumb, but I'm dumb today :) 20:59:05 very impressed here tabemann, you have the basics working with terminal and sleep 20:59:39 * tabemann is messing around with interrupt priorities to no avail 21:00:51 we have some interrupt words 21:01:43 : interrupt-priority ( c irq# -- ) \ $00 is highest 21:01:44 $E000E400 + c! 21:01:44 ; 21:01:44 : interrupt-priority@ ( irq# -- c ) 21:01:44 $E000E400 + c@ 21:01:44 ; 21:01:50 thats for a F0 21:07:38 interrupt priorities are more complex than that on the F407 21:27:04 okay, it should now properly set interrupt priorities 21:27:30 but I must go to bed, so g'night 21:34:21 --- quit: gravicappa (Ping timeout: 265 seconds) 22:09:23 --- quit: WickedShell (Remote host closed the connection) 22:12:25 --- quit: _whitelogger (Remote host closed the connection) 22:15:29 --- join: _whitelogger joined #forth 22:26:07 --- quit: rdrop-exit (Read error: Connection reset by peer) 22:26:22 --- join: rdrop-exit joined #forth 22:27:44 --- join: gravicappa joined #forth 22:31:52 --- quit: reepca (Ping timeout: 265 seconds) 22:40:59 --- quit: rdrop-exit (Read error: Connection reset by peer) 22:41:19 --- join: rdrop-exit joined #forth 22:45:41 --- quit: gravicappa (Ping timeout: 256 seconds) 22:57:24 --- quit: _whitelogger (Remote host closed the connection) 22:57:58 --- quit: dddddd (Ping timeout: 260 seconds) 23:00:08 bak 23:00:29 --- join: _whitelogger joined #forth 23:18:05 --- join: gravicappa joined #forth 23:27:00 --- quit: rdrop-exit (Ping timeout: 264 seconds) 23:31:46 --- join: rdrop-exit joined #forth 23:49:53 --- join: xek joined #forth 23:59:59 --- log: ended forth/20.03.30