OpenCellular
OpenCellular copied to clipboard
Feature request: Asynchronous active/clear alert
Product: (OC-SDR, OC-LTE, OC-LTE, OC-Power, others)
Component: (PSU, GBC, BBU, FEM, LED, ME)
Category: (Hardware, Software/stack, Firmware/bootloader, Documentation)
Describe the solution you'd like
- This issue deals with alert e.g. if value of ambient current or temperature or any other parameter of a sensor exceeds from certain limit or threshold then alert or interrupt has to be generated to user to indicate fault or problem.
- By serving interrupt one can take certain action to handle the issue
- To implement this feature certain registers of a particular sensor needs to configure in interrupt mode so that once sensor's readings exceeds certain limit(set by user) an interrupt will be generated from sensor to TIVA, then a message will be sent to host containing current readings, this would be called as asynchronous active alert
- Once sensor's readings comes down the limit then again a message will be sent to host stating alarm got clear with current sensor readings, this would called as asynchronous clear alert
Host changes:
- Command need to implement using schema from host CLI. EXAMPLE : system.comp_all.getAlert
- MiddleWare will convert this command into OCMP message and will send it to the FW.
- Framework need to create to except multiple message for singal command and create a response.
- MiddleWare will send response to CLI and CLI will display it into console into tabular format as well as store it into log file for future reference.
FirmWare changes:
- Once interrupt/alert will comes from particular sensor then ISR will analyze it by reading sensor's internal register to find source of alert.
- Then it will store the alert into SPI flash memory with RTC time stamping and also send alert to host.
- Then it will take certain actions to clear it.
- Once alert gets clear, it will save the data into SPI flash memory with RTC time stamping.
- Once request comes from middleware for alerts, FW will read data from SPI flash memory and send back to middleware.
Message Frame will contain following payload field:
- First Byte of payload to indicate MW that more alert messages are coming in sequence (Position = 0, Size = 1 Byte).
- Next two Byte will be the alert timestamp in the payload(Position = 1, Size = 2 Byte).
- From 4th position in the payload actual value will come depending on the parameter type(Position = 3, Size = 2 Byte).
- 6th Position will be field by limit value for the parameter(Position = 5, Size = 2 Byte). Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is.