Index: .gitignore =================================================================== diff -u -re5b68dd61c18dd97545d5e527a7f0a8f84061cb6 -r8a4783c11ec826a2b84480ffb6b033edcac12954 --- .gitignore (.../.gitignore) (revision e5b68dd61c18dd97545d5e527a7f0a8f84061cb6) +++ .gitignore (.../.gitignore) (revision 8a4783c11ec826a2b84480ffb6b033edcac12954) @@ -25,3 +25,4 @@ docs/source/dialin.common.rst *.swp testsuites +*.pyc Index: dialin/common/AlarmIds.txt =================================================================== diff -u --- dialin/common/AlarmIds.txt (revision 0) +++ dialin/common/AlarmIds.txt (revision 8a4783c11ec826a2b84480ffb6b033edcac12954) @@ -0,0 +1,114 @@ +ALARM_ID_NO_ALARM = 0 +ALARM_ID_HD_SOFTWARE_FAULT = 1 +ALARM_ID_STUCK_BUTTON_TEST_FAILED = 2 +ALARM_ID_FPGA_POST_TEST_FAILED = 3 +ALARM_ID_WATCHDOG_POST_TEST_FAILED = 4 +ALARM_ID_UI_COMM_POST_FAILED = 5 +ALARM_ID_BLOOD_PUMP_MC_CURRENT_CHECK = 6 +ALARM_ID_BLOOD_PUMP_OFF_CHECK = 7 +ALARM_ID_BLOOD_PUMP_MC_DIRECTION_CHECK = 8 +ALARM_ID_BLOOD_PUMP_ROTOR_SPEED_CHECK = 9 +ALARM_ID_DIAL_IN_PUMP_MC_CURRENT_CHECK = 10 +ALARM_ID_DIAL_IN_PUMP_OFF_CHECK = 11 +ALARM_ID_DIAL_IN_PUMP_MC_DIRECTION_CHECK = 12 +ALARM_ID_DIAL_IN_PUMP_ROTOR_SPEED_CHECK = 13 +ALARM_ID_DIAL_OUT_PUMP_MC_CURRENT_CHECK = 14 +ALARM_ID_DIAL_OUT_PUMP_OFF_CHECK = 15 +ALARM_ID_DIAL_OUT_PUMP_MC_DIRECTION_CHECK = 16 +ALARM_ID_DIAL_OUT_PUMP_ROTOR_SPEED_CHECK = 17 +ALARM_ID_WATCHDOG_EXPIRED = 18 +ALARM_ID_RTC_COMM_ERROR = 19 +ALARM_ID_RTC_CONFIG_ERROR = 20 +ALARM_ID_DG_COMM_TIMEOUT = 21 +ALARM_ID_UI_COMM_TIMEOUT = 22 +ALARM_ID_COMM_TOO_MANY_BAD_CRCS = 23 +ALARM_ID_TREATMENT_STOPPED_BY_USER = 24 +ALARM_ID_BLOOD_SITTING_WARNING = 25 +ALARM_ID_BLOOD_SITTING_TOO_LONG_NO_RESUME = 26 +ALARM_ID_BLOOD_SITTING_TOO_LONG_NO_RINSEBACK = 27 +ALARM_ID_CAN_MESSAGE_NOT_ACKED = 28 +ALARM_ID_OCCLUSION_BLOOD_PUMP = 29 +ALARM_ID_OCCLUSION_DIAL_IN_PUMP = 30 +ALARM_ID_OCCLUSION_DIAL_OUT_PUMP = 31 +ALARM_ID_ARTERIAL_PRESSURE_LOW = 32 +ALARM_ID_ARTERIAL_PRESSURE_HIGH = 33 +ALARM_ID_VENOUS_PRESSURE_LOW = 34 +ALARM_ID_VENOUS_PRESSURE_HIGH = 35 +ALARM_ID_UF_RATE_TOO_HIGH_ERROR = 36 +ALARM_ID_UF_VOLUME_ACCURACY_ERROR = 37 +ALARM_ID_RTC_BATTERY_LOW = 38 +ALARM_ID_RTC_OR_TIMER_ACCURACY_FAILURE = 39 +ALARM_ID_RTC_RAM_OPS_ERROR = 40 +ALARM_ID_NVDATA_EEPROM_OPS_FAILURE = 41 +ALARM_ID_NVDATA_MFG_RECORD_CRC_ERROR = 42 +ALARM_ID_NVDATA_SRVC_RECORD_CRC_ERROR = 43 +ALARM_ID_NVDATA_CAL_RECORD_CRC_ERROR = 44 +ALARM_ID_NVDATA_HW_USAGE_DATA_CRC_ERROR = 45 +ALARM_ID_RO_PUMP_OUT_PRESSURE_OUT_OF_RANGE = 47 +ALARM_ID_TEMPERATURE_SENSORS_FAULT = 48 +ALARM_ID_FPGA_COMM_TIMEOUT = 49 +ALARM_ID_HD_COMM_TIMEOUT = 50 +ALARM_ID_VALVE_CONTROL_FAILURE = 51 +ALARM_ID_BLOOD_PUMP_FLOW_VS_MOTOR_SPEED_CHECK = 52 +ALARM_ID_DIAL_IN_PUMP_FLOW_VS_MOTOR_SPEED_CHECK = 53 +ALARM_ID_HD_PRIME_PURGE_AIR_TIME_OUT = 54 +ALARM_ID_BLOOD_PUMP_MOTOR_SPEED_CHECK = 55 +ALARM_ID_DIAL_IN_PUMP_MOTOR_SPEED_CHECK = 56 +ALARM_ID_DIAL_OUT_PUMP_MOTOR_SPEED_CHECK = 57 +ALARM_ID_BLOOD_PUMP_ROTOR_SPEED_TOO_HIGH = 58 +ALARM_ID_INLET_WATER_LOW_CONDUCTIVITY = 59 +ALARM_ID_INLET_WATER_HIGH_CONDUCTIVITY = 60 +ALARM_ID_DG_SOFTWARE_FAULT = 61 +ALARM_ID_CONDUCTIVITY_SENSOR_FAULT = 62 +ALARM_ID_INLET_WATER_LOW_TEMPERATURE = 63 +ALARM_ID_INLET_WATER_HIGH_TEMPERATURE = 64 +ALARM_ID_PRESSURE_SENSOR_FAULT = 65 +ALARM_ID_INLET_WATER_LOW_PRESSURE = 66 +ALARM_ID_HD_CRITICAL_DATA_ERROR = 67 +ALARM_ID_HD_ACCELEROMETER_SELF_TEST_FAILURE = 68 +ALARM_ID_DG_ACCELEROMETER_SELF_TEST_FAILURE = 69 +ALARM_ID_HD_EXCESSIVE_TILT = 70 +ALARM_ID_DG_EXCESSIVE_TILT = 71 +ALARM_ID_HD_SHOCK = 72 +ALARM_ID_DG_SHOCK = 73 +ALARM_ID_HD_ACCELEROMETER_FAILURE = 74 +ALARM_ID_DG_ACCELEROMETER_FAILURE = 75 +ALARM_ID_DG_CRITICAL_DATA_ERROR = 76 +ALARM_ID_RO_REJECTION_RATIO_OUT_OF_RANGE = 77 +ALARM_ID_INLET_WATER_PRESSURE_FAULT = 78 +ALARM_ID_HD_VALVE_HOMING_FAILED = 79 +ALARM_ID_HD_VALVE_TRANSITION_TIMEOUT = 80 +ALARM_ID_HD_VALVE_NOT_FUNCTIONAL = 81 +ALARM_ID_HD_VALVE_CURRENT_OUT_OF_RANGE = 82 +ALARM_ID_HD_VALVE_POSITION_OUT_OF_RANGE = 83 +ALARM_ID_AIR_TRAP_ILLEGAL_LEVELS = 84 +ALARM_ID_AIR_TRAP_FILL_DURING_PRIME = 85 +ALARM_ID_AIR_TRAP_FILL_DURING_TREATMENT = 86 +ALARM_ID_BLOOD_FLOW_SIGNAL_STRENGTH_TOO_LOW = 87 +ALARM_ID_DIALYSATE_FLOW_SIGNAL_STRENGTH_TOO_LOW = 88 +ALARM_ID_EMPTY_SALINE_BAG = 89 +ALARM_ID_SALINE_BOLUS_VOLUME_CHECK_FAILURE = 90 +ALARM_ID_ARTERIAL_PRESSURE_SENSOR_FAULT = 91 +ALARM_ID_VENOUS_PRESSURE_SENSOR_FAULT = 92 +ALARM_ID_UV_REACTOR_NOT_HEALTHY = 93 +ALARM_ID_POST_ACID_CONDUCTIVITY_OUT_OF_RANGE = 94 +ALARM_ID_POST_BICARB_CONDUCTIVITY_OUT_OF_RANGE = 95 +ALARM_ID_RO_PUMP_FLOW_RATE_OUT_OF_RANGE = 96 +ALARM_ID_DG_THERMISOTRS_TEMPERATURE_OUT_OF_RANGE = 97 +ALARM_ID_DG_FAN_RPM_OUT_OF_RANGE = 98 +ALARM_ID_DG_DIALYSATE_FILL_OUT_OF_TIME = 99 +ALARM_ID_CP1_SPEED_CONTROL_ERROR = 100 +ALARM_ID_CP2_SPEED_CONTROL_ERROR = 101 +ALARM_ID_FLOW_RATE_OUT_OF_UPPER_RANGE = 102 +ALARM_ID_RO_PUMP_PRESSURE_OUT_OF_RANGE = 103 +ALARM_ID_DRAIN_PUMP_RPM_OUT_OF_RANGE = 104 +ALARM_ID_DG_HEATERS_NEGATIVE_COLD_JUNCTION_TEMPERATURE = 105 +ALARM_ID_DG_HEATERS_FAULT = 106 +ALARM_ID_END_OF_DIALYSIS_TREATMENT_WARNING = 107 +ALARM_ID_END_OF_DIALYSIS_TREATMENT_ALARM = 108 +ALARM_ID_END_OF_DIALYSIS_TREATMENT_ALARM_HIGH = 109 +ALARM_ID_DG_HEAT_DISINFECT_CYCLE_FAILED = 110 +ALARM_ID_RO_PUMP_RAMP_UP_TO_FLOW_TIMEOUT = 111 +ALARM_ID_FLOW_RATE_OUT_OF_LOWER_RANGE = 112 +ALARM_ID_DRAIN_PUMP_OFF_FAULT = 113 +ALARM_ID_RO_PUMP_OFF_FAULT = 114 Index: dialin/common/alarm_defs.py =================================================================== diff -u -r287af45040e35882e001fb3ea835f304007870c4 -r8a4783c11ec826a2b84480ffb6b033edcac12954 --- dialin/common/alarm_defs.py (.../alarm_defs.py) (revision 287af45040e35882e001fb3ea835f304007870c4) +++ dialin/common/alarm_defs.py (.../alarm_defs.py) (revision 8a4783c11ec826a2b84480ffb6b033edcac12954) @@ -13,110 +13,18 @@ # @date (original) 07-Aug-2020 # ############################################################################ +import os from enum import unique -from ..utils.base import DialinEnum +from ..utils.base import AlarmEnum, DialinEnum -@unique -class AlarmList(DialinEnum): - ALARM_ID_NO_ALARM = 0 # Indication for when no alarms is a possible situation - ALARM_ID_HD_SOFTWARE_FAULT = 1 # HD Software fault. Software found itself in an unexpected state - ALARM_ID_STUCK_BUTTON_TEST_FAILED = 2 # Stuck button POST failure. Stop or Off button detected to be pressed for at least 1 second during test shortly after power up - ALARM_ID_FPGA_POST_TEST_FAILED = 3 # FPGA POST failure - ALARM_ID_WATCHDOG_POST_TEST_FAILED = 4 # Watchdog POST failure - ALARM_ID_UI_COMM_POST_FAILED = 5 # UI communication POST failure. UI failed to communicate within a reasonable time after power up - ALARM_ID_BLOOD_PUMP_MC_CURRENT_CHECK = 6 # Blood pump failed motor controller current check. Too high when pump should be off or out of range when pump should be running - ALARM_ID_BLOOD_PUMP_OFF_CHECK = 7 # Blood pump failed motor off check. Measured speed while commanded off - ALARM_ID_BLOOD_PUMP_MC_DIRECTION_CHECK = 8 # Blood pump failed motor direction check. Measured vs. commanded - ALARM_ID_BLOOD_PUMP_ROTOR_SPEED_CHECK = 9 # Blood pump failed rotor speed check. Mismatch with rotor and motor speeds - ALARM_ID_DIAL_IN_PUMP_MC_CURRENT_CHECK = 10 # Dialysis inlet pump failed motor controller current check. Too high when pump should be off or out of range when pump should be running - ALARM_ID_DIAL_IN_PUMP_OFF_CHECK = 11 # Dialysis inlet pump failed motor off check. Measured speed while commanded off - ALARM_ID_DIAL_IN_PUMP_MC_DIRECTION_CHECK = 12 # Dialysis inlet pump failed motor direction check. Measured vs. commanded - ALARM_ID_DIAL_IN_PUMP_ROTOR_SPEED_CHECK = 13 # Dialysis inlet pump failed rotor speed check. Mismatch with rotor and motor speeds - ALARM_ID_DIAL_OUT_PUMP_MC_CURRENT_CHECK = 14 # Dialysis outlet pump failed motor controller current check. Too high when pump should be off or out of range when pump should be running - ALARM_ID_DIAL_OUT_PUMP_OFF_CHECK = 15 # Dialysis outlet pump failed motor off check. Measured speed while commanded off - ALARM_ID_DIAL_OUT_PUMP_MC_DIRECTION_CHECK = 16 # Dialysis outlet pump failed motor direction check. Measured vs. commanded - ALARM_ID_DIAL_OUT_PUMP_ROTOR_SPEED_CHECK = 17 # Dialysis outlet pump failed rotor speed check. Mismatch with rotor and motor speeds - ALARM_ID_WATCHDOG_EXPIRED = 18 # Watchdog expired error. Watchdog was not "pet" within the appropriate time - ALARM_ID_RTC_COMM_ERROR = 19 # Real-time clock communication error - ALARM_ID_RTC_CONFIG_ERROR = 20 # Real-time clock configuration error - ALARM_ID_DG_COMM_TIMEOUT = 21 # Dialysate generator communication timeout - ALARM_ID_UI_COMM_TIMEOUT = 22 # User interface communication timeout - ALARM_ID_COMM_TOO_MANY_BAD_CRCS = 23 # Too many bad CRCs detected on received system messages - ALARM_ID_TREATMENT_STOPPED_BY_USER = 24 # Treatment stopped by user action - pressed stop button - ALARM_ID_BLOOD_SITTING_WARNING = 25 # Blood sitting too long warning (>4 min) - ALARM_ID_BLOOD_SITTING_TOO_LONG_NO_RESUME = 26 # Blood sitting too long alarm (>5 min) - ALARM_ID_BLOOD_SITTING_TOO_LONG_NO_RINSEBACK = 27 # Blood sitting too long alarm (>10 min) - ALARM_ID_CAN_MESSAGE_NOT_ACKED = 28 # System message that required acknowledgment was not acknowledged - ALARM_ID_OCCLUSION_BLOOD_PUMP = 29 # Blood pump occlusion detected - ALARM_ID_OCCLUSION_DIAL_IN_PUMP = 30 # Dialysate inlet pump occlusion detected - ALARM_ID_OCCLUSION_DIAL_OUT_PUMP = 31 # Dialysate outlet pump occlusion detected - ALARM_ID_ARTERIAL_PRESSURE_LOW = 32 # Arterial pressure too low during treatment - ALARM_ID_ARTERIAL_PRESSURE_HIGH = 33 # Arterial pressure too high during treatment - ALARM_ID_VENOUS_PRESSURE_LOW = 34 # Venous pressure too low during treatment - ALARM_ID_VENOUS_PRESSURE_HIGH = 35 # Venous pressure too high during treatment - ALARM_ID_UF_RATE_TOO_HIGH_ERROR = 36 # Ultrafiltration rate is too high error during treatment - ALARM_ID_UF_VOLUME_ACCURACY_ERROR = 37 # Ultrafiltration volume accuracy error during treatment - ALARM_ID_RTC_BATTERY_LOW = 38 # RTC battery low - ALARM_ID_RTC_OR_TIMER_ACCURACY_FAILURE = 39 # RTC or MCU timer inaccurate - ALARM_ID_RTC_RAM_OPS_ERROR = 40 # RTC (i.e read time) or RAM operations failure (read or write) - ALARM_ID_NVDATA_EEPROM_OPS_FAILURE = 41 # EEPRON operations (read write erase) failure - ALARM_ID_NVDATA_MFG_RECORD_CRC_ERROR = 42 # Manufacturing record CRC failure - ALARM_ID_NVDATA_SRVC_RECORD_CRC_ERROR = 43 # Service record CRC failure - ALARM_ID_NVDATA_CAL_RECORD_CRC_ERROR = 44 # Calibration record CRC failure - ALARM_ID_NVDATA_HW_USAGE_DATA_CRC_ERROR = 45 # HW usage data (treatment time in HD and total consumed water in DG) failure - AlARM_ID_NVDATA_DISINFECTION_DATE_CRC_ERROR = 46 # Last disinfection date CRC error - ALARM_ID_RO_PUMP_OUT_PRESSURE_OUT_OF_RANGE = 47 # Pressure at outlet of RO pump is out of range - ALARM_ID_TEMPERATURE_SENSORS_FAULT = 48 # DG temperature sensors fault - ALARM_ID_TEMPERATURE_SENSORS_INCONSISTENT = 49 # DG temperature sensors values are inconsistent with respect to each other - ALARM_ID_HD_COMM_TIMEOUT = 50 # HD communication timeout - ALARM_ID_VALVE_CONTROL_FAILURE = 51 # FPGA not accepting commanded valve states - ALARM_ID_BLOOD_PUMP_FLOW_VS_MOTOR_SPEED_CHECK = 52 # Blood pump failed flow vs. motor speed check. Mismatch with flow rate and rate implied by motor speed - ALARM_ID_DIAL_IN_PUMP_FLOW_VS_MOTOR_SPEED_CHECK = 53 # Dialysate inlet pump failed flow vs. motor speed check. Mismatch with flow rate and rate implied by motor speed - ALARM_ID_DIAL_OUT_PUMP_FLOW_VS_MOTOR_SPEED_CHECK = 54 # Dialysate outlet pump failed flow vs. motor speed check. Mismatch with flow rate and rate implied by motor speed - ALARM_ID_BLOOD_PUMP_MOTOR_SPEED_CHECK = 55 # Blood pump failed motor speed check. Measured vs. commanded - ALARM_ID_DIAL_IN_PUMP_MOTOR_SPEED_CHECK = 56 # Dialysate inlet pump failed motor speed check. Measured vs. commanded - ALARM_ID_DIAL_OUT_PUMP_MOTOR_SPEED_CHECK = 57 # Dialysate outlet pump failed motor speed check. Measured vs. commanded - ALARM_ID_BLOOD_PUMP_ROTOR_SPEED_TOO_HIGH = 58 # Blood pump rotor speed too high - ALARM_ID_INLET_WATER_LOW_CONDUCTIVITY = 59 # Inlet water conductivity too low - ALARM_ID_INLET_WATER_HIGH_CONDUCTIVITY = 60 # Inlet water conductivity too high - ALARM_ID_DG_SOFTWARE_FAULT = 61 # DG software fault. Software found itself in an unexpected state - ALARM_ID_CONDUCTIVITY_SENSOR_FAULT = 62 # Conductivity sensor fault - ALARM_ID_INLET_WATER_LOW_TEMPERATURE = 63 # Inlet water temperature too low - ALARM_ID_INLET_WATER_HIGH_TEMPERATURE = 64 # Inlet water temperature too high - ALARM_ID_PRESSURE_SENSOR_FAULT = 65 # Pressure sensor fault - ALARM_ID_INLET_WATER_LOW_PRESSURE = 66 # Inlet water pressure too low - ALARM_ID_HD_CRITICAL_DATA_ERROR = 67 # HD critical data integrity check failed. - ALARM_ID_HD_ACCELEROMETER_SELF_TEST_FAILURE = 68 # HD accelerometer failed POST. - ALARM_ID_DG_ACCELEROMETER_SELF_TEST_FAILURE = 69 # DG accelerometer failed POST. - ALARM_ID_HD_EXCESSIVE_TILT = 70 # HD tilt exceeds maximum. - ALARM_ID_DG_EXCESSIVE_TILT = 71 # DG tilt exceeds maximu. - ALARM_ID_HD_SHOCK = 72 # HD experienced large acceleration. - ALARM_ID_DG_SHOCK = 73 # DG experienced large acceleration. - ALARM_ID_HD_ACCELEROMETER_FAILURE = 74 # HD accelerometer error (no readings or FPGA reports error) - ALARM_ID_DG_ACCELEROMETER_FAILURE = 75 # DG accelerometer error (no readings or FPGA reports error) - ALARM_ID_DG_CRITICAL_DATA_ERROR = 76 # DG critical data integrity check failed. - ALARM_ID_RO_REJECTION_RATIO_OUT_OF_RANGE = 77 # RO rejection ratio out of range - ALARM_ID_INLET_WATER_PRESSURE_FAULT = 78 # Inlet water pressure fault - ALARM_ID_HD_VALVE_HOMING_FAILED = 79 # HD valve homing failed - ALARM_ID_HD_VALVE_TRANSITION_TIMEOUT = 80 # HD valve transition time out - ALARM_ID_HD_VALVE_NOT_FUNCTIONAL = 81 # HD valve not functional - ALARM_ID_HD_VALVE_CURRENT_OUT_OF_RANGE = 82 # HD valve current out of range - ALARM_ID_HD_VALVE_POSITION_OUT_OF_RANGE = 83 # HD valve position out of target - ALARM_ID_AIR_TRAP_ILLEGAL_LEVELS = 84 # Air trap level sensors reporting illegal combination of air/fluid - ALARM_ID_AIR_TRAP_FILL_DURING_PRIME = 85 # Air trap fill timeout during priming - ALARM_ID_AIR_TRAP_FILL_DURING_TREATMENT = 86 # Air trap fill timeout during treatment - ALARM_ID_BLOOD_FLOW_SIGNAL_STRENGTH_TOO_LOW = 87 # Blood flow sensor signal strength too low - ALARM_ID_DIALYSATE_FLOW_SIGNAL_STRENGTH_TOO_LOW = 88 # Dialysate flow sensor signal strength too low - ALARM_ID_EMPTY_SALINE_BAG = 89 # Saline bag is empty - ALARM_ID_SALINE_BOLUS_VOLUME_CHECK_FAILURE = 90 # Saline bolus volume check failure. - ALARM_ID_ARTERIAL_PRESSURE_SENSOR_FAULT = 91 # FPGA reports failure reading arterial pressure sensor. - ALARM_ID_VENOUS_PRESSURE_SENSOR_FAULT = 92 # FPGA reports failure reading venous pressure sensor. - ALARM_ID_UV_REACTOR_NOT_HEALTHY = 93 # UV reactor not healthy (either inlet or outlet) - ALARM_ID_POST_ACID_CONDUCTIVITY_OUT_OF_RANGE = 94 # Post-acid concentrate conductivity out of range. - ALARM_ID_POST_BICARB_CONDUCTIVITY_OUT_OF_RANGE = 95 # Post-bicarb concentrate conductivity out of range. - ALARM_ID_RO_PUMP_FLOW_RATE_OUT_OF_RANGE = 96 # RO pump flow rate out of range. - NUM_OF_ALARM_IDS = 97 # Total number of alarms +enum_list = {} +with open(os.path.join(os.path.dirname(__file__), 'AlarmIds.txt'), 'r') as file_obj: + for line in file_obj: + split_str = line.split('=') + enum_list[split_str[0].strip()] = split_str[1].strip() +AlarmList = AlarmEnum('AlarmList', enum_list) + @unique class AlarmPriorities(DialinEnum): ALARM_PRIORITY_NONE = 0 # Indicates not an alarm or no alarms active at this time Index: dialin/utils/base.py =================================================================== diff -u -re10534f3df259e137e0ba14d897ecef42a767737 -r8a4783c11ec826a2b84480ffb6b033edcac12954 --- dialin/utils/base.py (.../base.py) (revision e10534f3df259e137e0ba14d897ecef42a767737) +++ dialin/utils/base.py (.../base.py) (revision 8a4783c11ec826a2b84480ffb6b033edcac12954) @@ -493,3 +493,13 @@ @classmethod def has_value(cls, value): return value in cls._value2member_map_ + +class AlarmEnum(Enum): + def __init__(self, *args): + cls = self.__class__ + if any(self.value == member.value for member in cls): + raise ValueError("aliases not allowed: %r --> %r" % (self.name, cls(self.value).name)) + + @classmethod + def has_value(cls, value): + return value in cls._value2member_map_ Index: tools/gen_alarm_ids.sh =================================================================== diff -u --- tools/gen_alarm_ids.sh (revision 0) +++ tools/gen_alarm_ids.sh (revision 8a4783c11ec826a2b84480ffb6b033edcac12954) @@ -0,0 +1,36 @@ +#!/bin/bash +########################################################################### +# +# Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. +# +# THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN +# WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. +# +# @file gen_alarm_ids.sh +# +# @author (last) Quang Nguyen +# @date (last) 06-Jan-2021 +# @author (original) Quang Nguyen +# @date (original) 06-Jan-2020 +# +############################################################################ + +OUTPUT_FILE="dialin/common/AlarmIds.txt" +COMMON_REPO="tmp/common" + +rm -rf tmp +mkdir tmp + +branch_name=$(git rev-parse --abbrev-ref HEAD) + +if [ "$branch_name" = "master" ]; then + git clone -b master ssh://git@dvm-linux02:7999/comm/common.git $COMMON_REPO &> /dev/null +else + git clone -b develop ssh://git@dvm-linux02:7999/comm/common.git $COMMON_REPO &> /dev/null +fi + +grep -oh "ALARM_ID_.* = [0-9]*" -- tmp/common/AlarmDefs.h > $OUTPUT_FILE + +rm -rf tmp +echo "Generate alarm ids to file: $OUTPUT_FILE" +