You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the solution you'd like
Adding an infrastructure for detecting and handling alerts in PSU board .
PSU SW architecture is similar to GBC . But PSU TIVA has limited memory constraints so there has to be a single Alert Manager task which gets unblocked all the alerts and notifies the required tasks to handle interrupts .
Proposed Implementation :
a) During init of the board , _init function will get called for all devices .
Create/update the lookup table which stores (cb_ptr, pin_nbr, subsystem_id , comp_nbr etc)
Call OcGpio_setCallback(irqPin, device_ISR, event_nbr); ,to register for interrupt on irqPin , set call back function as gpioIntFxn and pass event number , event number can be the array index in the lookup table
b) Big brother waits for post_complete
Before post complete, spawn task(Alert Manager) which will read the lookup table created in step
Enable interrupt based on irqpin for all items on the lookup table
Wait for event to get triggered
c) When interrupt gets triggered
device_ISR (pin , event_nbr) gets called
set the required event nbr
ISR context ends
d) Alert manager will get unblocked
Read which event has triggered
Create an ocmp message (subsystem , comp_id , msgtype etc)
Send message to required Subsystem task
e) Subsytem task
receive the alert message
Handle the alert
The text was updated successfully, but these errors were encountered:
Product: (OC-SDR, OC-LTE, OC-LTE, OC-Power, others)
PSU
Component: (PSU, GBC, BBU, FEM, LED, ME)
PSU
Category: (Hardware, Software/stack, Firmware/bootloader, Documentation)
Firmware
Describe the solution you'd like
Adding an infrastructure for detecting and handling alerts in PSU board .
PSU SW architecture is similar to GBC . But PSU TIVA has limited memory constraints so there has to be a single Alert Manager task which gets unblocked all the alerts and notifies the required tasks to handle interrupts .
Proposed Implementation :
a) During init of the board , _init function will get called for all devices .
b) Big brother waits for post_complete
c) When interrupt gets triggered
d) Alert manager will get unblocked
e) Subsytem task
The text was updated successfully, but these errors were encountered: