Loading...
 

Emergency Status

000 - 02


Version 0.4 (20230314)

This application includes cargo data, therefore, in order to be compliant with ANEP-87:
- the schedule flag bit (bit 6 of the JANUS baseline packet) must be set to 1;
- the RPT flag bit (bit 23 of the JANUS baseline packet or first bit of the ADB) must be set to 0, indicating reservation;
- the reservation bits (seven bits: 24-30 of the JANUS baseline packet or 2-8 of the ADB) contain the reservation time, which must be long enough to at least cover the transmission time of the cargo bits.

Application Data Block (ADB)


For a visual description of the JANUS Baseline Bit Allocation (including details about "JANUS Bits" and "ADB Field Bit #") click here.

ADB bit allocation table (it is assumed that the schedule flag bit - bit 6 of the JANUS baseline packet - is set to 1):

JANUS Bits
ADB Field Bit #
Descriptor
Bits per Field
Description
Comments
2333 RPT Flag
1
Repetition/Reservation flag bit It must be set to 0, indicating a reservation
24-3032-26 Reservation
7
Reservation time Reservation time. It must be long enough to at least cover the transmission time of the cargo bits
3125 Unused
1
Unused bit Unused bit. It is initialized to 0
32-3924-17 Station Identifier
8
Station identifier of sender It can take value 0..254 (255 not allowed)
40-4716-9 Destination Identifier
8
Station identifier of receiver It can take value 0..254 for unique IDs and 255 for broadcast (all nodes)
48-568-0 Payload Size
9
Size of CARGO Cargo size is in bytes. The cargo size for this application is 10 bytes.


Note: Only 33 bits of the 34 bits are used.


CARGO


CARGO bit allocation table:

CARGO Bits
Descriptor
Bits per Field
Description
Comments
1-10 Nationality
10
Two-letter country codes according to ISO 3166 standard Each letter is coded in ASCII with 5 bits (the two MSBs are masked), for example:
'A' is coded as 0b00001
'Z' is coded as 0b11010
Undefined nationality is coded as 0b1111111111
11-16 O2
6
Value in volume [%] with a 0.1 resolution. Mininum value is 17 %.Mapping Rules
value_float is the actual O2 value in [%].
value_int is the bit pattern that codes the O2 value (written as an integer in decimal notation).
Integer to Volume [%] conversion:
value_float =  value_int * 0.1 + 17
Float [%] to integer conversion:
For value_float >= 17 [%] and value_float < 23.3 [%],
value_int =  round((value_float - 17) * 10.0)
elsewhere 
value_int = 63, No O2 available.
Round towards nearest integer (rounding halfway cases away from zero)
17-22 CO2
6
Value in volume [%] with a 0.1 resolution. Similar mapping and round rules as O2.
CO2_encoded is the bit pattern that encodes the CO2 value in [%].
For CO2 >= 6.3 [%], CO2_encoded = 63, No CO2 available.
23-30 CO
8
Value in ppm with a 1 ppm resolution. CO_encoded is the bit pattern that encodes the CO value in [ppm].
CO_encoded = CO
For CO >= 255 [ppm], CO_encoded = 255, No CO available.
31-36 H2
6
Value in volume [%] with a 0.1 resolution. Similar mapping and round rules as O2.
H2_encoded is the bit pattern that encodes the H2 value in [%].
For H2 >= 6.3 [%], H2_encoded = 63, No H2 available.
37-46 Pressure
10
Atmospheric pressure value in [bar] with a 0.1 resolution. Mininum value is 0.9 bar.Mapping Rules
value_float is the actual Pressure value in [bar].
value_int is the bit pattern that codes the Pressure value (written as an integer in decimal notation).
Integer to Volume [bar] conversion:
value_float =  value_int * 0.1 + 0.9
Float [%] to integer conversion:
For value_float >= 0.9 [bar] and value_float < 103.2 [bar],
value_int =  round((value_float – 0.9) * 10.0)
elsewhere
value_int = 1023, No Pressure available.
Round towards nearest integer (rounding halfway cases away from zero)
47-52 Temperature
6
Value in degrees Celsius with a 1°C resolution. Temperature_encoded is the bit pattern that encodes the Temperature value in [°C].
Temperature_encoded = Temperature
For Temperature >= 63 [°C], Temperature_encoded = 63, No Temperature available.
53-60 Survivors
8
Value in number of survivors (pax) with a 1 pax resolution. Survivors_encoded is the bit pattern that encodes the Survivors value in [pax].
Survivors_encoded = Survivors
For Survivors >= 255 [pax], Survivors_encoded = 255, No Survivors available.
61-64 Padding
4
Bit padding (0 padding) to align to byte and then compute CRC
65-80 CRC16
16
CRC16
(X^16 + X^15 + X^2 + 1)
Full description of CRC16




Revision History
Date
Version
Description
Authors
2023/03 0.4 Correction to JANUS baseline packet fields, including schedule flag bit and reservation time. More information for the node identifiers and bit padding also included NATO STO CMRE
2022/08 0.3 Correction to cargo specifications to include bit padding NATO STO CMRE
2019/09 0.2 Changes:
- The field Nationality uses 10 bits instead of 16.
- The field O2 has a mininum value of 17%.
- The field Pressure has a mininum value of 0.9.
- The field Survivors uses 8 bits instead of 6.
- The field CRC uses 16 bits instead of 8.
NATO STO CMRE
2017/10 0.1 Message format published in:
R. Petroccia, J. Alves and G. Zappa, "JANUS-Based Services for Operationally Relevant Underwater Applications," in IEEE Journal of Oceanic Engineering, vol. 42, no. 4, pp. 994-1006, Oct. 2017. doi: 10.1109/JOE.2017.2722018
NATO STO CMRE