00:00:00 --- log: started forth/20.03.18 00:08:15 --- join: mtsd joined #forth 00:12:56 --- quit: mtsd (Quit: Leaving) 00:32:28 --- join: dys joined #forth 00:53:24 --- quit: jsoft (Ping timeout: 264 seconds) 00:59:05 --- quit: dys (Ping timeout: 256 seconds) 01:05:42 --- join: dys joined #forth 01:15:47 rdrop-exit, in this article you linked https://www.excamera.com/sphinx/article-xorshift.html 01:17:29 the author claims the picture at the end of the article "gives no obvious patterns" ? how come I see a dragon wearing a breathing mask guarding heaps of toilet paper in it then ? 01:28:29 You're in Australia, you need to turn your screen upside down then it won't be an obvious pattern anymore 01:30:18 ahh! 01:30:59 rdrop-exit, how high is your walking roof ? 01:31:14 not the top of a 70 floor hirise I hope ? 01:31:14 14+1 stories 01:31:36 15 floors! thats high enough 01:31:39 --- join: xek joined #forth 01:32:39 this building was built in the 80s when regulations limiting building heights were still in place, ours was the first condo building constructed in this neighborhood 01:34:03 newer condo buildings are much taller 01:34:22 but our contruction quality is much better than the newer buildings 01:35:26 always important! 01:35:37 especially when walking on the roof 01:35:42 :) 01:38:45 --- join: mtsd joined #forth 01:39:06 --- join: jsoft joined #forth 03:02:18 --- join: koisoke_ joined #forth 03:05:11 --- quit: koisoke (*.net *.split) 03:07:37 --- quit: lonjil (Quit: No Ping reply in 180 seconds.) 03:09:24 --- join: lonjil joined #forth 03:11:42 --- quit: dys (Ping timeout: 250 seconds) 03:14:07 --- quit: lonjil (Client Quit) 03:14:23 --- join: dave0 joined #forth 03:15:16 --- join: dys joined #forth 03:16:10 --- join: lonjil joined #forth 03:27:46 --- join: mtsd_ joined #forth 03:30:20 --- quit: mtsd (Ping timeout: 250 seconds) 03:34:21 --- quit: mtsd_ (Ping timeout: 256 seconds) 03:46:21 rdrop-exit, how about this stack notation ? : TIM14_PSC_PSC ( %bbbbbbbbbbbbbbbb -- x ) 0 lshift TIM14_PSC ; \ TIM14_PSC_PSC, Prescaler value 03:47:31 rdrop-exit, your efforts did bear fruit, I was seeing the stack notation as a view *from* the stack, rather than of the stack itself 03:58:50 --- quit: WickedShell (Remote host closed the connection) 04:21:25 rdrop-exit, Ive now dropped the "0 lshift" where the bit offset = 0 04:21:28 \ RCC_CFGR () 04:21:28 : RCC_CFGR_SW ( %bb -- x ) RCC_CFGR ; \ RCC_CFGR_SW, System clock Switch 04:21:28 : RCC_CFGR_SWS ( %bb -- x ) 2 lshift RCC_CFGR ; \ RCC_CFGR_SWS, System Clock Switch Status 04:21:28 : RCC_CFGR_HPRE ( %bbbb -- x ) 4 lshift RCC_CFGR ; \ RCC_CFGR_HPRE, AHB prescaler 06:13:02 --- quit: iyzsong (Quit: ZNC 1.7.1 - https://znc.in) 06:16:17 --- quit: proteus-guy (Ping timeout: 260 seconds) 06:22:23 --- quit: dave0 (Quit: dave's not here) 06:29:02 --- join: deesix joined #forth 06:29:43 --- join: dddddd joined #forth 06:44:58 --- quit: reepca (Ping timeout: 246 seconds) 06:59:31 hey guys 06:59:42 hey tabemann 07:00:53 I need to dig up the docs for systick 07:01:24 theyre in the 'programming manual' 07:01:54 --- join: reepca joined #forth 07:02:21 as the systick is a arm core component and not a STM peripheral 07:03:12 fortunately all the arm systick registers are located at the same address and are identical 07:03:25 same addresses 07:03:48 I found some info on ARM's "infocenter" 07:04:00 can be hard to track down 07:05:08 i have my older systick library here 07:05:11 https://mecrisp-stellaris-folkdoc.sourceforge.io/systick-library.html#systick-library 07:50:25 --- quit: jsoft (Ping timeout: 246 seconds) 07:51:31 --- quit: nonlinear[m] (Ping timeout: 245 seconds) 07:55:17 --- join: nonlinear[m] joined #forth 08:12:25 --- quit: _whitelogger (Remote host closed the connection) 08:15:27 --- join: _whitelogger joined #forth 09:42:56 --- join: gravicappa joined #forth 09:57:00 --- quit: dys (Ping timeout: 264 seconds) 10:14:47 --- quit: Kumool (Quit: FreeZNC - Visit us! Server: chat.freenode.net Channel: ##bnc4you) 10:46:11 --- join: Kumool joined #forth 10:57:06 --- quit: rdrop-exit (Quit: Lost terminal) 11:39:35 --- join: jsoft joined #forth 11:44:20 --- quit: jsoft (Ping timeout: 250 seconds) 13:23:31 --- join: WickedShell joined #forth 14:18:00 --- quit: xek (Ping timeout: 264 seconds) 14:45:35 --- join: kieselsteini joined #forth 14:52:11 --- quit: kieselsteini (Quit: Palaver https://palaverapp.com) 15:00:25 --- quit: tpbsd (Read error: Connection reset by peer) 15:00:25 --- join: tp___ joined #forth 15:31:47 --- quit: gravicappa (Ping timeout: 250 seconds) 17:16:59 --- join: dave0 joined #forth 17:17:55 --- nick: tp___ -> tp 17:24:39 hey 17:25:17 tabemann, hey 17:25:25 --- part: dbucklin left #forth 17:25:32 * tabemann just implemented systick 17:26:21 excellent! 17:26:53 it's dead simple compared to even the simplest timer 17:27:29 I always use systick with a interrupt 17:28:09 and the systick priority is higher than any peripherals by default 17:28:57 what I'm doing is setting systick to fire every millisecond 17:29:07 and having it increment a counter when it fires 17:29:35 the multitasker each time it PAUSEs checks that counter to see if it changed 17:31:11 well wait 17:31:13 forget that 17:31:31 the task code can have a built in time to wait for for each task 17:32:03 thats what Im doing 17:32:25 well wait, that's a little to specific, because the more general code should be able to handle other interrupts 17:32:35 actually I have systick interrupt every 0.1 milliseconds 17:33:18 the interrupt then increments a register 17:33:52 good idea 17:33:55 I do that so I can get an accurate 1ms count 17:34:30 a 32 bit counter is good for 18 hrs with this method 17:34:54 counter = register 17:40:26 thanks for the tips 17:42:40 how do you handle counter rollover? 17:43:32 specifically if let's say one is waiting for $FFFFFFFF, and the current time is $FFFFFFFE 17:43:47 there is a very clever way to do that 17:43:56 and then one misses a systick, so it ends up as $00000000 17:43:56 let me find the link 17:44:28 so one has to wait until a whole nother time around 17:45:34 oh I got it 17:45:59 one checks if the counter either is higher than what is being waited for, or is lower than it originally was 17:54:48 tabemann, you *definitely* need to read this https://embedded.fm/blog/2016/9/26/scheduling-code-on-bare-metal?rq=systick 18:02:24 thanks again 18:08:22 no problemo 18:08:51 that technique is what I'm using and it all tested fine 18:12:28 tp: a version of windows had the timer rollover error like in that article :-) 18:12:36 it would crash after 49.7 days 18:14:03 dave0, yes, I remember that. Amazingly as Windows users always turn their PC's off after use or they locked up before 49.7 days, it was never a problem 18:14:31 haha 18:14:51 the uptime on this FreeBSD pc is exactly the same as my last electricity outage 18:14:53 49.7 was just an upper bound :-) 18:14:58 as it never gets turned off 18:15:33 I think the longest the power has remained on here without a outage is 115 days 18:16:53 I had about 320 days uptime on a old Linux server box once, but long uptimes also mean long unpatched vuln's 18:18:08 dave0, in those days it was unusual for a windows box to go 2 weeks without locking up 18:53:00 back 18:54:40 I practically never reboot my work laptop, which, as you might assume, runs Windows 10 18:56:36 it's been a few years since the 49.7 day windows bug :) 18:57:37 tabemann, and 'practically never reboot my laptop' has a whole different meaning to 'never reboot' :) 19:00:46 well, yes, I hibernate it regularly 19:01:27 but it's cool, the 'uptime wars' finished decades ago 19:02:13 unless youre a VM rental business I guess ? 19:03:16 I noticed a test I was running on a STM32F051 was crashing after a period of time recently and immediately knew what was happening 19:04:11 every so often something was left on the stack and eventually all ram was used up 19:04:45 i didnt time it to see if the crash was every 49.7 minutes tho ;-) 19:05:15 lol 19:06:04 on zeptoforth I limited the stacks to 512 bytes, because I allocate other stuff as well high in RAM, specifically stacks and dictionaries for other tasks 19:06:29 and after each line of code is entered, it checks for whether the RP and SP are in range 19:06:45 Mecrisp-Stellaris does the same checking I guess 19:07:12 I occasionally get a 'ram full' or 'flash full' warning 19:07:27 always when some program is out of controll 19:07:38 -l 19:07:39 I haven't implemented dictionary bounds checks yet though 19:21:43 bbl 19:43:15 --- quit: WickedShell (Remote host closed the connection) 19:52:19 --- join: boru` joined #forth 19:52:22 --- quit: boru (Disconnected by services) 19:52:25 --- nick: boru` -> boru 19:56:40 --- join: X-Scale` joined #forth 19:57:12 --- quit: X-Scale (Ping timeout: 256 seconds) 19:57:34 --- nick: X-Scale` -> X-Scale 20:26:14 --- join: logand``` joined #forth 20:29:58 --- quit: logand`` (Ping timeout: 250 seconds) 20:54:24 --- quit: _whitelogger (Remote host closed the connection) 20:57:27 --- join: _whitelogger joined #forth 21:08:23 bal 21:08:24 bak 21:14:34 --- join: iyzsong joined #forth 21:33:56 --- quit: dave0 (Quit: dave's not here) 22:03:06 --- join: gravicappa joined #forth 22:21:25 --- quit: _whitelogger (Remote host closed the connection) 22:24:28 --- join: _whitelogger joined #forth 22:36:00 --- quit: gravicappa (Ping timeout: 264 seconds) 22:51:14 --- quit: reepca (Ping timeout: 250 seconds) 22:57:25 --- quit: _whitelogger (Remote host closed the connection) 23:00:29 --- join: _whitelogger joined #forth 23:08:51 --- join: jsoft joined #forth 23:41:24 --- quit: dddddd (Ping timeout: 264 seconds) 23:59:59 --- log: ended forth/20.03.18