Open main menu

Changes

(0x0E / 0x0F / 0x10).
== Reading the Drop and Shock Event Log ==
 
The detector contains an accelerometer based shock watchdog that records drop
and impact events into non volatile memory. This log is useful when evaluating a
used unit, since it reveals how many serious shocks the panel has survived and
when. The same data is held both in the main flash (read over the network) and
in the small onboard EEPROM on the detector PCB.
 
=== How to read it ===
 
The shock log is exposed as data category 0x72 on the upload (read) interface.
It is retrieved with the standard non destructive configure and buffer sequence
(cmd 0x13 to configure, cmd 0x14 to pull the chunks). On the unit under test the
blob is 3001 bytes of plain text in the GE .dyn configuration format, so no
decoding is required beyond reading it as ASCII.
 
The same records are mirrored in binary form in the onboard 24LC256 EEPROM
(32 KB I2C part) for anyone reading the hardware directly.
 
=== Example output ===
 
The following is the actual log read from detector serial UA45829-7. The file
has two parts: a list of individual events (DetectorShockEvents) and a summary
block (DetectorShockData). Each event carries a record key, a severity, a
timestamp, and the peak acceleration on each axis. Two representative records:
 
<DetectorShockEvents>
[149266438700135]
Severity.Type = String
Severity.Val = Serious
TimeStamp.Type = String
TimeStamp.Val = 2017-4-20,6:59:47
ValidTime.Type = Number
ValidTime.Val = 0
VibrationX.Type = Number
VibrationX.Val = 0
VibrationY.Type = Number
VibrationY.Val = 0
VibrationZ.Type = Number
VibrationZ.Val = 135
 
[1592113924-1720-113]
Severity.Val = Serious
TimeStamp.Val = 2020-6-14,7:52:4
VibrationX.Val = -172
VibrationY.Val = 0
VibrationZ.Val = -113
 
The summary block at the end lists the totals and an index of all event keys:
 
[DetectorShockData]
LastKnownGoodTime.Val = 2024-4-4,6:53:59
NumberOfL3Events.Val = 0
NumberOfL5Events.Val = 7
ShockDataTimeList.Val = { 1643260890-1320-119, 163626503500-123,
160818190500-101, 160524243000170, 1592113924-1720-113,
157804584600183, 149266438700135 }
 
=== Interpreting the records ===
 
The record key encodes the event time and the peak axis values (an epoch style
timestamp followed by the concatenated vibration readings), so it is unique per
event. The VibrationX, VibrationY, and VibrationZ values are signed peak
acceleration counts on each axis. Severity is reported as Serious for all
logged events on this unit, which corresponds to the L5 (highest) severity class
counted in the summary.
 
The seven recorded events for this detector:
 
{| class="wikitable"
! Date and time !! VibrationX !! VibrationY !! VibrationZ
|-
| 2017-04-20 06:59:47 || 0 || 0 || 135
|-
| 2020-01-03 11:04:06 || 0 || 0 || 183
|-
| 2020-06-14 07:52:04 || -172 || 0 || -113
|-
| 2020-11-13 05:40:30 || 0 || 0 || 170
|-
| 2020-12-17 06:11:45 || 0 || 0 || -101
|-
| 2021-11-07 07:03:55 || 0 || 0 || -123
|-
| 2022-01-27 06:21:30 || -132 || 0 || -119
|}
 
=== Reading the summary fields ===
 
{| class="wikitable"
! Field !! Meaning
|-
| LastKnownGoodTime || Timestamp of the last successful self check (here 2024-04-04), the most recent point at which the detector was known to be operating normally
|-
| NumberOfL3Events || Count of lower severity (L3) shock events; zero on this unit
|-
| NumberOfL5Events || Count of high severity (L5) shock events; seven on this unit, matching the seven records above
|-
| ShockDataTimeList || Index of all stored event keys, newest first
|}
 
On this example the panel logged seven serious impacts over roughly five years
of field use and last reported a good self check in April 2024.
== FlashPad Detector: Internal Flash Dump and Data Files ==