Alerts » Historie » Version 6
Maximilian Seesslen, 11.04.2024 15:43
1 | 1 | Maximilian Seesslen | h2. Alarms/Alerts |
---|---|---|---|
2 | |||
3 | Devices should indicate issues; e.g.: |
||
4 | |||
5 | * Battery low |
||
6 | * I2C problems |
||
7 | 5 | Maximilian Seesslen | * Buffer overflow |
8 | 1 | Maximilian Seesslen | |
9 | h2. Object structutre |
||
10 | |||
11 | |_. Size |_. Decription |_. Examples | |
||
12 | | 2 | Object/Subsystem | I2C, VBat, | |
||
13 | | 1 | Unit | hz, Float, Time, Date, Percent, promilPwm, centiCelsius, canId, room, Multipacket-String | |
||
14 | | 1 | Issue | Whats wrong, Undervolts, Communication error | |
||
15 | | 4 | Value | 32Bit data of kind 'unit' | |
||
16 | 2 | Maximilian Seesslen | |
17 | |||
18 | 4 | Maximilian Seesslen | |_. Size |_. Decription |_. Examples | |
19 | | 2 | Event/Alert | buffer overflow, want sleep, overtemperature, Undervolts, Communication error + categorie | |
||
20 | | 1 | Unit | hz, Float, Time, Date, Percent, promilPwm, centiCelsius, canId, room, Multipacket-String | |
||
21 | | 1 | type | | |
||
22 | | 4 | Value | 32Bit data of kind 'unit' | |
||
23 | 1 | Maximilian Seesslen | |
24 | Room is a bit specifik to the timeout-shutdown-thing. subindex |
||
25 | Setting ambient light has the same issue. |
||
26 | 4 | Maximilian Seesslen | |
27 | Categorie: |
||
28 | USB, UART, System |
||
29 | |||
30 | Type: |
||
31 | Critical, Warning, Info, Event |
||
32 | 5 | Maximilian Seesslen | |
33 | Events: |
||
34 | Simple integer code which can be send via logging |
||
35 | * Buffer overflow |
||
36 | * I2C issue |
||
37 | 6 | Maximilian Seesslen | |
38 | h2. Events vs. Alerts |
||
39 | |||
40 | Events can be integrated into logging. They can be used anywhere in the code like ISRs. An Event has no output value. |
||
41 | |||
42 | <pre><code class="cpp"> |
||
43 | bWarningE( EV_BUFFER_OVERFLOW | EV_UART, "Buffer overflow: %d", cnt); |
||
44 | </code></pre> |
||
45 | |||
46 | Alarms are send explicitly as system errors in the main event loop. An Alarm has an concrete value. |
||
47 | |||
48 | <pre><code class="cpp"> |
||
49 | sendAlarm( Tdt::EAlarm::OverTemperature, |
||
50 | Tdt::EUnit::centiCelsius, Tdt::SValue { ._int=temperature } ); |
||
51 | sendAlarm( Tdt::EAlarm::UnderVoltage, |
||
52 | Tdt::EUnit::milliVolt, Tdt::SValue { ._int=voltage } ); |
||
53 | </code></pre> |