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

Reply via email to