PositionOfOccupants

This is a ROS message definition.

Source

# ==============================================================================
# MIT License
#
# Copyright (c) 2023-2024 Institute for Automotive Engineering (ika), RWTH Aachen University
# Copyright (c) 2024 Instituto de Telecomunicações, Universidade de Aveiro
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
# ==============================================================================

# --- Auto-generated by asn1ToRosMsg.py ----------------------------------------

# --- ASN.1 Definition ---------------------------------------------------------
# PositionOfOccupants ::= BIT STRING {
#     row1LeftOccupied  (0),
#     row1RightOccupied (1),
#     row1MidOccupied   (2),
#     row1NotDetectable (3),
#     row1NotPresent    (4),
#     row2LeftOccupied  (5),
#     row2RightOccupied (6),
#     row2MidOccupied   (7),
#     row2NotDetectable (8),
#     row2NotPresent    (9),
#     row3LeftOccupied  (10),
#     row3RightOccupied (11),
#     row3MidOccupied   (12),
#     row3NotDetectable (13),
#     row3NotPresent    (14),
#     row4LeftOccupied  (15),
#     row4RightOccupied (16),
#     row4MidOccupied   (17),
#     row4NotDetectable (18),
#     row4NotPresent    (19)
# } (SIZE(20))
# ------------------------------------------------------------------------------
# *
# * This DE indicates whether a passenger seat is occupied or whether the occupation status is detectable or not.
# * 
# * The number of row in vehicle seats layout is counted in rows from the driver row backwards from front to the rear
# * of the vehicle.
# * The left side seat of a row refers to the left hand side seen from vehicle rear to front.
# * Additionally, a bit is reserved for each seat row, to indicate if the seat occupation of a row is detectable or not,
# * i.e. `row1NotDetectable (3)`, `row2NotDetectable(8)`, `row3NotDetectable(13)` and `row4NotDetectable(18)`.
# * Finally, a bit is reserved for each row seat to indicate if the seat row is present or not in the vehicle,
# * i.e. `row1NotPresent (4)`, `row2NotPresent (9)`, `row3NotPresent(14)`, `row4NotPresent(19)`.
# * 
# * When a seat is detected to be occupied, the corresponding seat occupation bit shall be set to `1`.
# * For example, when the row 1 left seat is occupied, `row1LeftOccupied(0)` bit shall be set to `1`.
# * When a seat is detected to be not occupied, the corresponding seat occupation bit shall be set to `0`.
# * Otherwise, the value of seat occupation bit shall be set according to the following conditions:
# * - If the seat occupation of a seat row is not detectable, the corresponding bit shall be set to `1`.
# *   When any seat row not detectable bit is set to `1`, all corresponding seat occupation bits of the same row
# *   shall be set to `1`.
# * - If the seat row is not present, the corresponding not present bit of the same row shall be set to `1`.
# *   When any of the seat row not present bit is set to `1`, the corresponding not detectable bit for that row
# *   shall be set to `1`, and all the corresponding seat occupation bits in that row shall be set to `0`.
# * 
# * @category: Vehicle information
# * @revision: V1.3.1
# 

uint8[] value
uint8 bits_unused
uint8 SIZE_BITS = 20
uint8 BIT_INDEX_ROW1_LEFT_OCCUPIED = 0
uint8 BIT_INDEX_ROW1_RIGHT_OCCUPIED = 1
uint8 BIT_INDEX_ROW1_MID_OCCUPIED = 2
uint8 BIT_INDEX_ROW1_NOT_DETECTABLE = 3
uint8 BIT_INDEX_ROW1_NOT_PRESENT = 4
uint8 BIT_INDEX_ROW2_LEFT_OCCUPIED = 5
uint8 BIT_INDEX_ROW2_RIGHT_OCCUPIED = 6
uint8 BIT_INDEX_ROW2_MID_OCCUPIED = 7
uint8 BIT_INDEX_ROW2_NOT_DETECTABLE = 8
uint8 BIT_INDEX_ROW2_NOT_PRESENT = 9
uint8 BIT_INDEX_ROW3_LEFT_OCCUPIED = 10
uint8 BIT_INDEX_ROW3_RIGHT_OCCUPIED = 11
uint8 BIT_INDEX_ROW3_MID_OCCUPIED = 12
uint8 BIT_INDEX_ROW3_NOT_DETECTABLE = 13
uint8 BIT_INDEX_ROW3_NOT_PRESENT = 14
uint8 BIT_INDEX_ROW4_LEFT_OCCUPIED = 15
uint8 BIT_INDEX_ROW4_RIGHT_OCCUPIED = 16
uint8 BIT_INDEX_ROW4_MID_OCCUPIED = 17
uint8 BIT_INDEX_ROW4_NOT_DETECTABLE = 18
uint8 BIT_INDEX_ROW4_NOT_PRESENT = 19