4bbd02dc | 21-Jun-2022 |
Xiaochao Ma <maxiaochao@inspur.com> |
Enable GPIO polling for fans that dont support GPIO events
This commit will enable the use of GPIO polling for fans that do not support GPIO events for presence detection.
The configuration should
Enable GPIO polling for fans that dont support GPIO events
This commit will enable the use of GPIO polling for fans that do not support GPIO events for presence detection.
The configuration should specify the MonitoryType of Polling which will trigger the polling based presence monitoring.
Preconditions: Add the configuration of the dual rotor fan in xxx_BaseBoard.json, for example: ``` { "Address": "0x52", "Bus": 6, "Index": 0, "MaxReading": 14500, "Name": "Fan1a_in", "PowerState": "Always", "Presence": { "PinName": "FAN0_PRESENCE_R_N", "Polarity": "Low", "MonitorType": "Polling" }, "Type": "I2CFan" }, { "Address": "0x52", "Bus": 6, "Index": 1, "MaxReading": 14500, "Name": "Fan1b_in", "PowerState": "Always", "Presence": { "PinName": "FAN0_PRESENCE_R_N", "Polarity": "Low" "MonitorType": "Polling" }, "Type": "I2CFan" }, ```
Tested
``` a{sv} 2 "PrettyName" s "" "Present" b true a{sv} 2 "PrettyName" s "" "Present" b true
(unplug dual rotor fan)
a{sv} 2 "PrettyName" s "" "Present" b false a{sv} 2 "PrettyName" s "" "Present" b false
(journal) Feb 27 17:26:17 system1 fansensor[350]: Fan Fan1a_in Removed Feb 27 17:35:47 system1 fansensor[350]: Fan Fan1a_in Inserted
Signed-off-by: Xiaochao Ma <maxiaochao@ieisystem.com> Change-Id: I15215e6e919fabc8b362016c9bb8a5bfaea842db Signed-off-by: Chris Cain <cjcain@us.ibm.com>
show more ...
|
c45e18f9 | 24-Jul-2024 |
Chris Cain <cjcain@us.ibm.com> |
Add support for GPIO polling for presence detection
The current PresenceGpio implementation uses event driven detection by using the gpioLine.event_read method to detect GPIO signal changes, and the
Add support for GPIO polling for presence detection
The current PresenceGpio implementation uses event driven detection by using the gpioLine.event_read method to detect GPIO signal changes, and then to determine the presence status.
This commit will add support for a PollingPresenceGpio for GPIOs that do not support events. It will use a pollTimer to periodically read the GPIO status (every second).
The monitorPresence() function should be called to initiate the monitoring of the GPIO.
TEST: Tested with multiple GPIOs including disabling to simulate removing of device and enable to re-detect device. Unable to test Event driven GPIO due to no hw available.
Change-Id: If46e884ad237dfe909a9373773c8302a0844ac90 Signed-off-by: Chris Cain <cjcain@us.ibm.com>
show more ...
|