Add mesg num from SDK to julia

main
Jacob Windle 2023-04-20 09:02:45 -04:00
parent 37979af849
commit 219ec38e22
1 changed files with 217 additions and 0 deletions

217
src/mesg_num.jl Normal file
View File

@ -0,0 +1,217 @@
# Take from MesgNum.java class in SDK.
module mesg_num
FILE_ID = 0
CAPABILITIES = 1
DEVICE_SETTINGS = 2
USER_PROFILE = 3
HRM_PROFILE = 4
SDM_PROFILE = 5
BIKE_PROFILE = 6
ZONES_TARGET = 7
HR_ZONE = 8
POWER_ZONE = 9
MET_ZONE = 10
SPORT = 12
GOAL = 15
SESSION = 18
LAP = 19
RECORD = 20
EVENT = 21
DEVICE_INFO = 23
WORKOUT = 26
WORKOUT_STEP = 27
SCHEDULE = 28
WEIGHT_SCALE = 30
COURSE = 31
COURSE_POINT = 32
TOTALS = 33
ACTIVITY = 34
SOFTWARE = 35
FILE_CAPABILITIES = 37
MESG_CAPABILITIES = 38
FIELD_CAPABILITIES = 39
FILE_CREATOR = 49
BLOOD_PRESSURE = 51
SPEED_ZONE = 53
MONITORING = 55
TRAINING_FILE = 72
HRV = 78
ANT_RX = 80
ANT_TX = 81
ANT_CHANNEL_ID = 82
LENGTH = 101
MONITORING_INFO = 103
PAD = 105
SLAVE_DEVICE = 106
CONNECTIVITY = 127
WEATHER_CONDITIONS = 128
WEATHER_ALERT = 129
CADENCE_ZONE = 131
HR = 132
SEGMENT_LAP = 142
MEMO_GLOB = 145
SEGMENT_ID = 148
SEGMENT_LEADERBOARD_ENTRY = 149
SEGMENT_POINT = 150
SEGMENT_FILE = 151
WORKOUT_SESSION = 158
WATCHFACE_SETTINGS = 159
GPS_METADATA = 160
CAMERA_EVENT = 161
TIMESTAMP_CORRELATION = 162
GYROSCOPE_DATA = 164
ACCELEROMETER_DATA = 165
THREE_D_SENSOR_CALIBRATION = 167
VIDEO_FRAME = 169
OBDII_DATA = 174
NMEA_SENTENCE = 177
AVIATION_ATTITUDE = 178
VIDEO = 184
VIDEO_TITLE = 185
VIDEO_DESCRIPTION = 186
VIDEO_CLIP = 187
OHR_SETTINGS = 188
EXD_SCREEN_CONFIGURATION = 200
EXD_DATA_FIELD_CONFIGURATION = 201
EXD_DATA_CONCEPT_CONFIGURATION = 202
FIELD_DESCRIPTION = 206
DEVELOPER_DATA_ID = 207
MAGNETOMETER_DATA = 208
BAROMETER_DATA = 209
ONE_D_SENSOR_CALIBRATION = 210
TIME_IN_ZONE = 216
SET = 225
STRESS_LEVEL = 227
DIVE_SETTINGS = 258
DIVE_GAS = 259
DIVE_ALARM = 262
EXERCISE_TITLE = 264
DIVE_SUMMARY = 268
JUMP = 285
SPLIT = 312
CLIMB_PRO = 317
TANK_UPDATE = 319
TANK_SUMMARY = 323
DEVICE_AUX_BATTERY_INFO = 375
DIVE_APNEA_ALARM = 393
INVALID = -1
# All message numbers and their string variants.
MESG_NUM_MAP = Dict(
FILE_ID => "FILE_ID",
CAPABILITIES => "CAPABILITIES",
DEVICE_SETTINGS => "DEVICE_SETTINGS",
USER_PROFILE => "USER_PROFILE",
HRM_PROFILE => "HRM_PROFILE",
SDM_PROFILE => "SDM_PROFILE",
BIKE_PROFILE => "BIKE_PROFILE",
ZONES_TARGET => "ZONES_TARGET",
HR_ZONE => "HR_ZONE",
POWER_ZONE => "POWER_ZONE",
MET_ZONE => "MET_ZONE",
SPORT => "SPORT",
GOAL => "GOAL",
SESSION => "SESSION",
LAP => "LAP",
RECORD => "RECORD",
EVENT => "EVENT",
DEVICE_INFO => "DEVICE_INFO",
WORKOUT => "WORKOUT",
WORKOUT_STEP => "WORKOUT_STEP",
SCHEDULE => "SCHEDULE",
WEIGHT_SCALE => "WEIGHT_SCALE",
COURSE => "COURSE",
COURSE_POINT => "COURSE_POINT",
TOTALS => "TOTALS",
ACTIVITY => "ACTIVITY",
SOFTWARE => "SOFTWARE",
FILE_CAPABILITIES => "FILE_CAPABILITIES",
MESG_CAPABILITIES => "MESG_CAPABILITIES",
FIELD_CAPABILITIES => "FIELD_CAPABILITIES",
FILE_CREATOR => "FILE_CREATOR",
BLOOD_PRESSURE => "BLOOD_PRESSURE",
SPEED_ZONE => "SPEED_ZONE",
MONITORING => "MONITORING",
TRAINING_FILE => "TRAINING_FILE",
HRV => "HRV",
ANT_RX => "ANT_RX",
ANT_TX => "ANT_TX",
ANT_CHANNEL_ID => "ANT_CHANNEL_ID",
LENGTH => "LENGTH",
MONITORING_INFO => "MONITORING_INFO",
PAD => "PAD",
SLAVE_DEVICE => "SLAVE_DEVICE",
CONNECTIVITY => "CONNECTIVITY",
WEATHER_CONDITIONS => "WEATHER_CONDITIONS",
WEATHER_ALERT => "WEATHER_ALERT",
CADENCE_ZONE => "CADENCE_ZONE",
HR => "HR",
SEGMENT_LAP => "SEGMENT_LAP",
MEMO_GLOB => "MEMO_GLOB",
SEGMENT_ID => "SEGMENT_ID",
SEGMENT_LEADERBOARD_ENTRY => "SEGMENT_LEADERBOARD_ENTRY",
SEGMENT_POINT => "SEGMENT_POINT",
SEGMENT_FILE => "SEGMENT_POINT",
WORKOUT_SESSION => "WORKOUT_SESSION",
WATCHFACE_SETTINGS => "WATCHFACE_SETTINGS",
GPS_METADATA => "GPS_METADATA",
CAMERA_EVENT => "CAMERA_EVENT",
TIMESTAMP_CORRELATION => "TIMESTAMP_CORRELATION",
GYROSCOPE_DATA => "GYROSCOPE_DATA",
ACCELEROMETER_DATA => "ACCELEROMETER_DATA",
THREE_D_SENSOR_CALIBRATION => "THREE_D_SENSOR_CALIBRATION",
VIDEO_FRAME => "VIDEO_FRAME",
OBDII_DATA => "OBDII_DATA",
NMEA_SENTENCE => "NMEA_SENTENCE",
AVIATION_ATTITUDE => "AVIATION_ATTITUDE",
VIDEO => "VIDEO",
VIDEO_TITLE => "VIDEO_TITLE",
VIDEO_DESCRIPTION => "VIDEO_DESCRIPTION",
VIDEO_CLIP => "VIDEO_CLIP",
OHR_SETTINGS => "OHR_SETTINGS",
EXD_SCREEN_CONFIGURATION => "EXD_SCREEN_CONFIGURATION",
EXD_DATA_FIELD_CONFIGURATION => "EXD_DATA_FIELD_CONFIGURATION",
EXD_DATA_CONCEPT_CONFIGURATION => "EXD_DATA_CONCEPT_CONFIGURATION",
FIELD_DESCRIPTION => "FIELD_DESCRIPTION",
DEVELOPER_DATA_ID => "DEVELOPER_DATA_ID",
MAGNETOMETER_DATA => "MAGNETOMETER_DATA",
BAROMETER_DATA => "BAROMETER_DATA",
ONE_D_SENSOR_CALIBRATION => "ONE_D_SENSOR_CALIBRATION",
TIME_IN_ZONE => "TIME_IN_ZONE",
SET => "SET",
STRESS_LEVEL => "STRESS_LEVEL",
DIVE_SETTINGS => "DIVE_SETTINGS",
DIVE_GAS => "DIVE_GAS",
DIVE_ALARM => "DIVE_ALARM",
EXERCISE_TITLE => "EXERCISE_TITLE",
DIVE_SUMMARY => "DIVE_SUMMARY",
JUMP => "JUMP",
SPLIT => "SPLIT",
CLIMB_PRO => "CLIMB_PRO",
TANK_UPDATE => "TANK_UPDATE",
TANK_SUMMARY => "TANK_SUMMARY",
DEVICE_AUX_BATTERY_INFO => "DEVICE_AUX_BATTERY_INFO",
DIVE_APNEA_ALARM => "DIVE_APNEA_ALARM",
INVALID => "INVALID"
)
"""
get_mesg_num_string(mesg_num::Integer)::Union{AbstractString,Nothing}
Given the number from our data record, get a string label. Nothing if not found.
"""
function get_mesg_num_string(mesg_num::Integer)::Union{AbstractString,Nothing}
try
MESG_NUM_MAP[mesg_num]
catch e
if e isa KeyError
nothing
else
rethrow(e)
end
end
end
end