Projekt

Allgemein

Profil

Eval » Historie » Revision 7

Revision 6 (Maximilian Seesslen, 25.01.2023 23:57) → Revision 7/8 (Maximilian Seesslen, 02.02.2023 17:50)

h1. Eval

Monitor Sensors over longer time.
* Temperature
* Air quality
* Plant sensors

MCU is 256K. Could even store XML.

* Timestamp
* CAN-ID + Sub-ID
* Values interpreted as Text
* CSV better because its always finished

h2. Step1

* Main first target is to monitor plants over longer range of time
* target is csv output
* Tatsaechlich kann er ziemlich stupide alles ausgeben; TDT interpretiert
* Eigene Temperaturwerte natuerlich. Werden ja schon verschickt. Dann kommt das halt noch mit in die SD

STM32L431RCT6 with QUAD-SPI-Flash (Memory-mapped) and SD-Card-Slot.
"MCU":https://www.st.com/resource/en/datasheet/stm32l431rc.pdf

[[Eval]]
* The block size is 512 Bytes
* Blocks are erased automatically. The erase command sets the block to {0}
* plain ascii: "2012-06-01 01:00, 1, 3"
** quite difficult to find the end.
** need to manipulate it afterwards for gnuplot anyway

* Record any received object vs. perooidically log all objects
** Replay would need all received objects
* Bind it to TDT?

Header
1B Magick 'B'
1B Number of Stamps
2B reserved
4B Block number
4B CRC32

1B Magick 'S'
2B Year
1B Month
1B Day
1B Your
1B Minute
1B Second
--- 8B
4B Node
4B Object
1B Data Unit
1B Data Type
4B Value

Ca. 0x20 Bytes per stamp; 16 Stamps per block



h1. Todos

* Behaviour of erasing/writing
** I can only write complete block/512B?
** Have to erase blocks? Why are they '0';
*** No need to rease block. When erasing them, they get '0'
*** A block is 512 Bytes
* implement 'sd' command
** 'e'rasae
** 'w'rite
** 'r'ead
** 'd'ump



h1. Dump

* Filter Node-ID and Object

h1. Ablauf

* Start with start-block from config if available
* Search first free block
* Store it in config
* Collect stamps/opjects
* Write block