Dear AmForthers,
long time no hear. Yes I know. All I can say is: I was very un-motivated to do anything involving atmega microcontrollers or AmForth. When I packed everything away in September 2020, I was very frustrated. I wanted to implement a new version of my data collector stuff, and it kept failing on me for no apparent reason. This went on for several months until I decided to put everything out of sight. Beginning of February 2021 I started to play with this stuff again. Just for my own pleasure, not telling anyone. So currently I have this working (again): - TX -- a atmega644pa microcontroller, running AmForth-6.9 using a 434MHz radio to transmit sensor data using a mightyohm geiger counter as sensor (it reports about 20 events/minute :) - RX -- a atmega644pa microcontroller, running AmForth-6.9 using a 434MHz radio to receive said data - a Raspberry Pi connected to the serial interface of RX requesting data every 10 Minutes, sending that data off via mqtt. MQTT relays the datagrams via telegraf into an influxdb, grafana makes the collected data visible to a web browser. This part I had set up over winter to replace my outdated and somewhat dodgy pgplot/perl driven visualization. This setup is quite stable. I see occasional outliers, so transport is not as robust as it could be. Sounds like full success? Well. Maybe. I also spent countless hours on the let's say intriguing interface of the Bosch Sensortec BME280 sensor (temperature, relative humidity, pressure). While the sensor may be top notch, I did not grok the imho complicated calculations, which are neccessary to convert the Bits into a human readable value. Working in C is much simpler, bacause C code is available, and because the compiler will do all sorts of signed/unsigned acrobatics for me. Yes there is Forth code available as well, e.g. from our nice neighbours in Netherlands, as published in Vierte Dimension 2020-01: https://forth-ev.de/wiki/res/lib/exe/fetch.php/vd-archiv:4d2020-01.pdf I have given up on this for now, and I have ordered some (expensive!) Sensirion STH85 sensors (temperature, rel. humidity). I have some SHT71, but I broke the last one. So, all of this is to say, I am hopefully out of hibernation. Regarding the AmForth Project: 1. I have registered an account at sourcehut.org: https://git.sr.ht/~amforth The repository is currently empty, but that should change. 2. I have experimented a little with svn2git. Thanks for your experiments and various hints on the mailing list. There is one thing I am still very undecided: When I try to understand a problem in the AmForth code, I often do something like: find or grep -rl $something in ./releases/*/avr8/... pipe this through md5sum to see what changed when Then do diffs between specific releases. A more complete example is given below. IFF I convert the ./releases/ directories to git branches, then this will not be possible any more, I think. The I have to use git blame and git diff between branches. Currently I think having all files unfolded in a directory tree has its merits. At least in the sense that I know, how to deal with this. But this is highly against the git way, as I understand it. So I am inclined to create branches, but I would highly appreciate hints on how to efficiently find out about changes of a given file during its history. How are you doing this? Ah, web interface ... how about the command line? 3. During a completely different experiment that you find here https://ew.srht.site/ I think I have understood, how to create static html content in such a way that it will be served by sourcehut. Currently "not found" https://amforth.srht.site/ but that shall change as well. 4. I intent to give admin privileges to at least two more people. Carsten Strotmann has given me a key already. So if anyone else is interested, please get in touch with me. Cheers, Erich ---------------------------------------------------------------------- > example for find/grep diff workflow: > > $ md5sum ~/bin/amforth-upload.py releases/*/tools/amforth-upload.py > trunk/tools/amforth-upload.py > c0a6266c243a724da85074fc6a7bc315 /home/ew/bin/amforth-upload.py > a6e355913f567148d6129638d1979dd0 releases/2.7/tools/amforth-upload.py > 5e7458e0382bf29d4820c4f1f720222c releases/2.8/tools/amforth-upload.py > 5e7458e0382bf29d4820c4f1f720222c releases/2.9/tools/amforth-upload.py > 5e7458e0382bf29d4820c4f1f720222c releases/3.0/tools/amforth-upload.py > 5e7458e0382bf29d4820c4f1f720222c releases/3.1/tools/amforth-upload.py > 5e7458e0382bf29d4820c4f1f720222c releases/3.2/tools/amforth-upload.py > 5e7458e0382bf29d4820c4f1f720222c releases/3.3/tools/amforth-upload.py > d98ce0c817fd19cba4474e13b56f566f releases/3.4/tools/amforth-upload.py > d98ce0c817fd19cba4474e13b56f566f releases/3.5/tools/amforth-upload.py > d98ce0c817fd19cba4474e13b56f566f releases/3.6/tools/amforth-upload.py > d98ce0c817fd19cba4474e13b56f566f releases/3.7/tools/amforth-upload.py > d98ce0c817fd19cba4474e13b56f566f releases/3.8/tools/amforth-upload.py > d98ce0c817fd19cba4474e13b56f566f releases/3.9/tools/amforth-upload.py > c0a6266c243a724da85074fc6a7bc315 releases/4.0/tools/amforth-upload.py > 3f6c0a9b8616e4636a2cc9f06d1ede10 releases/4.1/tools/amforth-upload.py > 3f6c0a9b8616e4636a2cc9f06d1ede10 releases/4.2/tools/amforth-upload.py > 3f6c0a9b8616e4636a2cc9f06d1ede10 releases/4.3/tools/amforth-upload.py > 3f6c0a9b8616e4636a2cc9f06d1ede10 releases/4.4/tools/amforth-upload.py > 3f6c0a9b8616e4636a2cc9f06d1ede10 releases/4.5/tools/amforth-upload.py > 3f6c0a9b8616e4636a2cc9f06d1ede10 releases/4.6/tools/amforth-upload.py > 7bee7d2eb669aad5c4b77c93c74d1941 releases/4.7/tools/amforth-upload.py > 7bee7d2eb669aad5c4b77c93c74d1941 releases/4.8/tools/amforth-upload.py > e8f55df9f17ceb38228ba68270ca019d releases/4.9/tools/amforth-upload.py > e8f55df9f17ceb38228ba68270ca019d releases/5.0/tools/amforth-upload.py > e8f55df9f17ceb38228ba68270ca019d releases/5.1/tools/amforth-upload.py > e8f55df9f17ceb38228ba68270ca019d releases/5.2/tools/amforth-upload.py > e8f55df9f17ceb38228ba68270ca019d releases/5.3/tools/amforth-upload.py > e8f55df9f17ceb38228ba68270ca019d releases/5.4/tools/amforth-upload.py > e8f55df9f17ceb38228ba68270ca019d releases/5.5/tools/amforth-upload.py > e8f55df9f17ceb38228ba68270ca019d releases/5.6/tools/amforth-upload.py > faf3f05fbb4126a290d435e83e3e90ee releases/5.7/tools/amforth-upload.py > faf3f05fbb4126a290d435e83e3e90ee releases/5.8/tools/amforth-upload.py > faf3f05fbb4126a290d435e83e3e90ee releases/5.9/tools/amforth-upload.py > faf3f05fbb4126a290d435e83e3e90ee releases/6.0/tools/amforth-upload.py > faf3f05fbb4126a290d435e83e3e90ee releases/6.1/tools/amforth-upload.py > faf3f05fbb4126a290d435e83e3e90ee releases/6.2/tools/amforth-upload.py > faf3f05fbb4126a290d435e83e3e90ee releases/6.3/tools/amforth-upload.py > faf3f05fbb4126a290d435e83e3e90ee releases/6.4/tools/amforth-upload.py > faf3f05fbb4126a290d435e83e3e90ee releases/6.5/tools/amforth-upload.py > faf3f05fbb4126a290d435e83e3e90ee releases/6.6/tools/amforth-upload.py > faf3f05fbb4126a290d435e83e3e90ee releases/6.7/tools/amforth-upload.py > faf3f05fbb4126a290d435e83e3e90ee releases/6.8/tools/amforth-upload.py > faf3f05fbb4126a290d435e83e3e90ee trunk/tools/amforth-upload.py > #+end_example > > I'm using amforth-upload.py from release 4.0. This version /works/ for > me. Changes occured in these releases: > > #+begin_example > a6e355913f567148d6129638d1979dd0 releases/2.7/tools/amforth-upload.py > d98ce0c817fd19cba4474e13b56f566f releases/3.4/tools/amforth-upload.py > c0a6266c243a724da85074fc6a7bc315 releases/4.0/tools/amforth-upload.py > 3f6c0a9b8616e4636a2cc9f06d1ede10 releases/4.1/tools/amforth-upload.py > 7bee7d2eb669aad5c4b77c93c74d1941 releases/4.7/tools/amforth-upload.py > e8f55df9f17ceb38228ba68270ca019d releases/4.9/tools/amforth-upload.py > faf3f05fbb4126a290d435e83e3e90ee releases/5.7/tools/amforth-upload.py > faf3f05fbb4126a290d435e83e3e90ee trunk/tools/amforth-upload.py > #+end_example > > #+begin_example > for R in 2.7 3.4 4.0 4.1 4.7 4.9 5.7 > do > ls -l releases/$R/tools/amforth-upload.py > #wc -l releases/$R/tools/amforth-upload.py > done > > -rwxr-x--- 1 ew ew 6201 2020-04-05 12:27 releases/2.7/tools/amforth-upload.py* > -rwxr-x--- 1 ew ew 6921 2020-04-05 12:27 releases/3.4/tools/amforth-upload.py* > -rwxr-x--- 1 ew ew 7408 2020-04-05 12:27 releases/4.0/tools/amforth-upload.py* > -rwxr-x--- 1 ew ew 7409 2020-04-05 12:27 releases/4.1/tools/amforth-upload.py* > -rwxr-x--- 1 ew ew 7414 2020-04-05 12:27 releases/4.7/tools/amforth-upload.py* > -rwxr-x--- 1 ew ew 7541 2020-04-05 12:27 releases/4.9/tools/amforth-upload.py* > -rwxr-x--- 1 ew ew 7978 2020-04-05 12:27 releases/5.7/tools/amforth-upload.py* > > 232 releases/2.7/tools/amforth-upload.py > 253 releases/3.4/tools/amforth-upload.py > 264 releases/4.0/tools/amforth-upload.py > 264 releases/4.1/tools/amforth-upload.py > 261 releases/4.7/tools/amforth-upload.py > 261 releases/4.9/tools/amforth-upload.py > 269 releases/5.7/tools/amforth-upload.py > > ... and so on. Similar game with no-jtag.asm led to recognize that the > active file was essentially empty at the time. -- May the Forth be with you ... _______________________________________________ Amforth-devel mailing list for http://amforth.sf.net/ Amforth-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/amforth-devel