Projekt

Allgemein

Profil

Eval » Historie » Version 8

Maximilian Seesslen, 02.02.2023 17:57

1 1 Maximilian Seesslen
h1. Eval
2
3
Monitor Sensors over longer time.
4
* Temperature
5
* Air quality
6
* Plant sensors
7
8
MCU is 256K. Could even store XML.
9
10
* Timestamp
11
* CAN-ID + Sub-ID
12
* Values interpreted as Text
13
* CSV better because its always finished
14 2 Maximilian Seesslen
15
h2. Step1
16
17
* Main first target is to monitor plants over longer range of time
18
* target is csv output
19
* Tatsaechlich kann er ziemlich stupide alles ausgeben; TDT interpretiert
20 3 Maximilian Seesslen
* Eigene Temperaturwerte natuerlich. Werden ja schon verschickt. Dann kommt das halt noch mit in die SD
21 5 Maximilian Seesslen
22
23
STM32L431RCT6 with QUAD-SPI-Flash (Memory-mapped) and SD-Card-Slot.
24
"MCU":https://www.st.com/resource/en/datasheet/stm32l431rc.pdf
25
26
[[Eval]]
27 6 Maximilian Seesslen
* The block size is 512 Bytes
28
* Blocks are erased automatically. The erase command sets the block to {0}
29 5 Maximilian Seesslen
* plain ascii: "2012-06-01 01:00, 1, 3"
30
** quite difficult to find the end.
31
** need to manipulate it afterwards for gnuplot anyway
32
33
* Record any received object vs. perooidically log all objects
34
** Replay would need all received objects
35
* Bind it to TDT?
36
37
Header
38
1B Magick 'B'
39
1B Number of Stamps
40
2B reserved
41
4B Block number
42
4B CRC32
43
44
1B Magick 'S'
45
2B Year
46
1B Month
47
1B Day
48
1B Your
49
1B Minute
50
1B Second
51
--- 8B
52
4B Node
53
4B Object
54
1B Data Unit
55
1B Data Type
56
4B Value
57
58
Ca. 0x20 Bytes per stamp; 16 Stamps per block
59
60
h1. Todos
61
62
* Behaviour of erasing/writing
63
** I can only write complete block/512B?
64
** Have to erase blocks? Why are they '0';
65 7 Maximilian Seesslen
*** No need to rease block. When erasing them, they get '0'
66
*** A block is 512 Bytes
67 5 Maximilian Seesslen
* implement 'sd' command
68
** 'e'rasae
69
** 'w'rite
70
** 'r'ead
71
** 'd'ump
72
73
74
h1. Dump
75
76
* Filter Node-ID and Object
77
78
h1. Ablauf
79
80
* Start with start-block from config if available
81
* Search first free block
82
* Store it in config
83
* Collect stamps/opjects
84
* Write block