# Dialin Changelog All notable changes to this project will be documented in this file. ### [0.8.4] - 2021-02-22 - DEN-7041: Fixed old treatment states, msg ids. ### [0.8.3] - 2021-02-21 - Removed duplicate version.py - DEN-7041: Added changes necessary for testsuites to pass 100% - (origin/DEN-6593_Sprint_37, DEN-6593_Sprint_37) DEN-6593: Removed unused test - (origin/DEN-6363_Sprint_36, DEN-6363_Sprint_36) DEN-6838: Try to login only once by default, allowing API user to set resend=True - DEN-6838: Disabled auto-resend when logging into the HD - DEN-6838: Updated when ACKs are sent. Added blood flow and fw controller test scripts - (origin/DIAL-62-alarm-ids-file-not-found-error) DIAL-62: Added alarm ids txt to package data - DEN-6593, DIAL-59: Removed unneeded send ack calls. - DEN-5980 added set duty cycle command function for RO pump - Removed drain pump's RPM set - fixed the drain pump fixed RPM function - Updated version.py - (origin/master, origin/HEAD, master) Temporarily fixed the Priming messaging issue - DEN-6593: Restored priming simulated progress behavior - DEN-6593, DIAL-59: Dialin will send ACK if seq num is < 0. Added incrementing sequence number for unsolicited outgoing messages. - (origin/DEN-5830_AlarmDesign) DEN-5838: Code Review 0 - DEN-6363: Added set alarm cleared condition to hd simulator alarms - DEN-5838: Code Review 0 - (origin/DEN-5674-hd-alarm-design-3-of-4) DEN-5674: fixed merge conflicts. - DEN-6363, DIAL-51: Disabling resending of messages by default. - (origin/DEN-6193_Sprint_35, DEN-6193_Sprint_35) DEN-6193: Updated docstrings, .gitignore, and removed duplicate utility function. - DEN-5674: Fixed function header parameter comment. - (origin/DEN-3504-dg-dialysate-composition-1-of-2) DEN-3504: Fixed cd2 sensor update, update cp1 and cp2 speed name - (origin/DIAL-23-parse-common-definitions) DIAL-23: Added semi-auto generation for alarm ids - DEN-5674: Addressed code review feedback. ### [0.8.2] - 2020-12-30 - DEN-6018: Deleted unneeded test script - DIAL-49, DIAL-52: Handling invalid denali message gracefully, ensure sleep of 1ms before re-checking receive buffer. - DEN-6018, DIAL-49, DIAL-52: Added to logging test, updated logger, handle malformed denali messages that don't include a payload length - DEN-6018, DEN-4864: Ensuring ACK is sent back when required.Clearing alarms when starting hd simulator. - DEN-5802: Fixed _publish decorator typo - DIAL-54, DEN-5802: Added flag to disable/enable metadata in the logger - DEN-6018: Added unit tests, added defaults when settings treatment parameters. - DEN-6018: Fixed squish migration conflicts after merge - DEN-5833: Implementation- added the message id 80 for pTx uf adj rsp. - DEN-3421 fixed temperature sensors unit test python script - DEN-5833: Implementation- Added API for the message 63 : Alarm Condition Cleared - DEN-3504: Fixed spelling - DEN-3504: Added concentrate pump measured speed and broadcast interval override commands - DEN-3421 updated the documentation of the code - DEN-3421 addressed a code review comment - DEN-3421 addressed code reivew comments - DEN-5833: Implementation- Added AlarmFlags - DIAL-31: DG Software reset will not require response - Fixed valves state override message - Fixed incorrect message name for DG pressure override - DEN-5802: Continued migrating to denali can messenger. - DEN-5833: Implementation- Added Alarms Priority enums in the common folder. - Updated the CANBus test function test_can0 to be able to be used out side of the SquishQt (ex. Simulator) and moved the common portion in the utils.py - DEN-5638: Continued squish migration, refactored hd_simulator.py - DEN-3421 updated the drivers.Merged develop into the branch - DEN-3504: Added tare option to drain command - DEN-5739: Implementation- Fixed the API bug when implementing the request. - DEN-5741 Integration Testing- Added Heparin Data/Response messages API - DEN-5638: Removed globals import test from test_squish - DEN-4640: Fixed DPo publish interval override command. - DEN-3421 merged develop into this branch - DEN-5638, DIAL-16: Added ability to switch reservoirs. - DEN-3421 merged master into the branch - DEN-3504: Use Dialin Enum - DEN-5638: Fixed incorrect channel for ui set treatment parameters handler.Cleaned up ui_proxy.py - DEN-4640: Added handling of Dialin requests to get, erase calibration data. - DEN-3421 worked on the drivers scripts - DEN-3504: Combine cmd turn on/off concentrate pumps - DEN-5638: Added ui proxy test script, remove print statements, refactoring - DEN-5638: Removed print statements, fixed typo - DEN-5638: Continued refactoring - DEN-5638: Began migrating squish to ui folder - DEN-5637: Renamed MsgFldPositions to MsgFieldPositions - Added space between functions - Updated version.py - Updated version ### [0.8.1] - 2020-11-10 - DEN-3504: Removed dg operation mode request - DEN-4640: Clear alarms if status reports no top alarm.Add handling of calibration data broadcast msg. - DEN-4640: fixed typos for new pump home commands. - DEN-4640: Added command to clear all alarms. - DEN-4640: Updated msg list.Fixed alarms class to reference correct alarm IDs. - DEN-3504: Added conversion util to dg - DEN-3504: Fixed out of sync message id - Den-4695: Integration Testing- renamed some variables and methods regarding the pressures adjustment to be consistent. - DEN-5518: Fixed remaining dialysate_inlet_pump function names. - DEN-4640: Fixed alarm IDs enum. - DEN-4640: Added new alarm IDs. - DEN-5518: Fixed unresolved message id references in hd and ui folders. - DEN-3504: Fixed out of sync message ids - DIAL-47: Improved consistency of function names. - DEN-5518: Fixed invalid message IDs in hd simulator, refactoring- Fixed missing return in version.py - Ensure env is activate before running flake8 - DEN-4640: Fixed msg ID names. - DEN-4606: Added end-treatment response - DEN-4695: Integration Testing- Added response message API - DEN-5518, DIAL-46: Fixed deprecated message ids in alarms class - DEN-5518: Fixed blood flow message ids.Documentation fixes. - DEN-3504: Added DG operation mode change request command - DEN-5518: Fixed dialysate inlet flow invalid message ids - DEN-5518: Fixed rest of dialysate inlet flow invalid mesage ids - DEN-5518: Fixed dialysate inlet flow invalid message ids - DEN-5342: Code Review 0- Removed the class variables and used the one defined int the common. - DEN-5518: Ensuring message IDs are all unique - DEN-5518, DIAL-42: Created DialinEnum, added has_value - DEN-4640: sync message IDs w/ firmware. - DEN-3504: Added concentrate pumps function and conductivity cd1, cd2 sensors - DEN-4640: Addressed code review feedback. - DEN-5518, DIAL-45, HD Software reset request will not require response. - DEN-5340 Code Coverage [100%]- Modified the Pressure/Occlusion message to have new structure (last 3 of 5 fields changed to U32 from F32) - DEN-5339: Integration Testing- Fixing tst_Treatment_Adjustment_Ultrafiltration - DEN-5339: Integration Testing- First implementation - DEN-4640: Added support for single treatment parameter value setting.Other updates to treatment parameter functionality. - DIAL-32: Updated requirements generator script - DIAL-43: Made hd blood flow command names consistent. - DEN-4641: Changed data type for occlusion pressures from float to integer and units from mmHg to unitless. ### [0.8.0] - 2020-10-21 - DEN-5329: Fixed msg defs conflict - DEN-5329: Updated hd simulator to show realistic priming screen behavior - DEN-4308 removed try and except clauses from the publish function - DIAL-37: Using struct.pack to convert from integer to bytearray instead of unhexlify. - DIAL-32: Updated scripts to generate user needs - DEN-5136, DEN-4787: Renamed ui/hd_proxy.py to hd_simulator, updated alarms simulator - DEN-5053: Added HD and DG s/w reset request commands. - DEN-4308 added air trap valve status to the publish function - DEN-5136: Updated create, confirm, priming, begin workflow and alarms test code - DEN-5053: Added HD class for Air Trap module. - DEN-4856: Added HD simulator functions to listen for treatment start messages. - DEN-4856: Added capability to simulate priming in the UI - DEN-4169: Use common msg id and address code review - DEN-4169: Added alarm module to dg - DEN-4589: Created version.py symlink, fixed setup.py import - DEN-4589: Fixed drain pump bug, added dg get_fpga_version() - DEN-4589: Removed pkg-resources dependency - DEN-4589: Version fix - DEN-4589: Added missing get_fpga_version to ui proxy, adjusted treatment parameters response ordering. ### [0.7.0] - 2020-08-27 - DIAL-29: Added DG temperature sensors enum - DEN-4344, DIAL-9: Documentation fixes - Removed empty file - DIAL-28, DEN-4589, DEN-4344: Ensure unit tests don't mix with hardware reliant tests, finalized import test - DIAL-28, DEN-4589, DEN-4344: Simplified dialin import system - DEN-4322: Removed alignment per code review - DEN-4589 Fixed HD import issue and reworked version.py to work outside of git repos. - DEN-4322: Removed RO rejection ratio override command - Updated hd simulator test - DEN-4322: Updated Dialin API for DG RO rejection ratio - Added canbus convenience functions - Fixed ro pump msg ids, added fpga version to dg and hd versions, added test imports to unit tests, cleaned up get alarm states - Added common, improved ui folder structure - Updated hd_simulator, hd buttons, and test hd simulator - DEN-4436: Denali Investigate and Fix the new VM issues - Updated changelog ### [0.6.0] - 2020-08-06 #### Added - Added constraints to HD documentation - `dialin.dg.conductivity_sensors` - Conductivity sensor override command - Conductivity values get function - Conductivity sensor data broadcast interval override command - Rejection reasons to `hd.ui_proxy`, accessible via `get_reject_reasons()` - `dialin.utils.base` - Added convenience function to simplify lookups of a group of constants (e.g. message ids, alarm ids, etc.) - Added `create_logger` function to simplify logging in dialin scripts - Added `_LogManager` class - Integration with bamboo unit tests runner - Automatically generated file headers #### Changed - Converted all print statements to log messages - Dialin internal logging levels `["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL", "CAN_ONLY", "PRINT_ONLY"]` #### Fixed - Removed unneeded imports - Added Logger type information - DG RO Pump message ID definitions ### [0.5.0] - 2020-07-20 #### Added - The following alarms have been added: - `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_DIAL_OUT_PUMP_FLOW_VS_MOTOR_SPEED_CHECK = 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_TEMPERATURE_OUT_OF_RANGE = 59` #### Fixed - Fixed base class subclassing and base class initialization of `utils.base._AbstractSubSystem` in - `dialin.dg.hd_proxy` - `dialin.dg.pressures` - `dialin.dg.reservoirs` - `dialin.dg.ro_pump` - `dialin.hd.buttons` - `dialin.hd` - `dialin.hd.rtc` - `dialin.hd.treatment` - `dialin.hd.ui_proxy` - `dialin.hd.watchdog` - Fixed code styling in - `dialin.dialysate_generator` - `dialin.dg.drain_pump` - `dialin.base` - Fixed inaccurate initialization function docstrings ### [0.4.1] - 2020-07-20 #### Fixed - Fixed invalid DG operation mode handler function registration ### [0.4.0] - 2020-07-20 #### Added - Migration of squishapi to dialin - `dialin.squish.crc` - `dialin.squish.denaliMessages` - `dialin.squish.globals` - `dialin.squish.messageBuilder` - `dialin.squish.unittests` - `dialin.squish.utils` - Test script to generate requirements - Unit test to sort the valve state dictionaries - Convenience script to build dialin wheel file and install it to a virtual environment #### Fixed - DG valves test to be compatible with valve state dictionary format - Improved PEP8 compliance - Method spacing: (1 line) - Function spacing: (2 lines) - Missing copyright headers ### [0.3.0] - 2020-07-15 #### Added - DG Dialysate Temperature monitoring - `dg.temperature_sensors` #### Fixed - PEP8 compliance of `dg.heaters` - Integration test for `dg.heaters` ### [0.2.0] - 2020-06-30 #### Added - Ability to attach / detach multiple observers - `dialin.base.AbstractObserver` class - `dialin.base._AbstractSubSystem` class - `dialin.base._publish` decorator - Getter functions for all publicly accessible variables - Branch and commit hash to docs - Data publishing from all subsystem classes (using the `@_publish` decorator) - Demo tests - Alarm simulation - `CAN-ONLY` logging with candump styled output #### Changed - Parent class for all submodules - Dialin version configuration and integration with sphinx, pip - Documentation now generated by sphinx instead of Doxygen - Handler functions are private - README #### Removed - Doxygen configuration #### Fixed - DG valves rate test - Alarms initialization - Valves bit masking - Documentation cleanup - Logging isolation - Ultrafiltration test script - Copyrights ### [0.1.0] - 2020-05-28 #### Added - Submodules: hd, dg, utils, and protocols - Setup dialin as a python package - Internal API Logging - Copyright headers - Unit test to import classes - HD demo test script - HD / DG integration tests #### Changed - Ensure PEP8 Compliance - Ensure snake case is used for all variables and functions - README - HD / UI messaging - Split up HD / DG subclasses into separate files #### Removed - Softlinks - Deprecated code #### Fixed - Doxygen output