mirror of
https://github.com/preble/libpinproc
synced 2026-02-24 18:25:23 +01:00
Provide P-ROC event timestamps with switch events.
This commit is contained in:
@@ -176,11 +176,12 @@ int PRDevice::GetEvents(PREvent *events, int maxEvents)
|
|||||||
|
|
||||||
events[i].value = event_data & P_ROC_EVENT_SWITCH_NUM_MASK;
|
events[i].value = event_data & P_ROC_EVENT_SWITCH_NUM_MASK;
|
||||||
int open = (event_data & P_ROC_EVENT_SWITCH_STATE_MASK) >> P_ROC_EVENT_SWITCH_STATE_SHIFT;
|
int open = (event_data & P_ROC_EVENT_SWITCH_STATE_MASK) >> P_ROC_EVENT_SWITCH_STATE_SHIFT;
|
||||||
|
|
||||||
switch ((event_data & P_ROC_EVENT_TYPE_MASK) >> P_ROC_EVENT_TYPE_SHIFT)
|
switch ((event_data & P_ROC_EVENT_TYPE_MASK) >> P_ROC_EVENT_TYPE_SHIFT)
|
||||||
{
|
{
|
||||||
case P_ROC_EVENT_TYPE_SWITCH:
|
case P_ROC_EVENT_TYPE_SWITCH:
|
||||||
{
|
{
|
||||||
|
events[i].time = (event_data & P_ROC_EVENT_SWITCH_TIMESTAMP_MASK) >> P_ROC_EVENT_SWITCH_TIMESTAMP_SHIFT;
|
||||||
int debounced = (event_data & P_ROC_EVENT_SWITCH_DEBOUNCED_MASK) >> P_ROC_EVENT_SWITCH_DEBOUNCED_SHIFT;
|
int debounced = (event_data & P_ROC_EVENT_SWITCH_DEBOUNCED_MASK) >> P_ROC_EVENT_SWITCH_DEBOUNCED_SHIFT;
|
||||||
if (open)
|
if (open)
|
||||||
events[i].type = debounced ? kPREventTypeSwitchOpenDebounced : kPREventTypeSwitchOpenNondebounced;
|
events[i].type = debounced ? kPREventTypeSwitchOpenDebounced : kPREventTypeSwitchOpenNondebounced;
|
||||||
|
|||||||
@@ -134,6 +134,8 @@ const uint32_t P_ROC_EVENT_TYPE_SHIFT = 10;
|
|||||||
const uint32_t P_ROC_EVENT_SWITCH_NUM_MASK = 0xFF;
|
const uint32_t P_ROC_EVENT_SWITCH_NUM_MASK = 0xFF;
|
||||||
const uint32_t P_ROC_EVENT_SWITCH_STATE_MASK = 0x100;
|
const uint32_t P_ROC_EVENT_SWITCH_STATE_MASK = 0x100;
|
||||||
const uint32_t P_ROC_EVENT_SWITCH_STATE_SHIFT = 8;
|
const uint32_t P_ROC_EVENT_SWITCH_STATE_SHIFT = 8;
|
||||||
|
const uint32_t P_ROC_EVENT_SWITCH_TIMESTAMP_MASK = 0xFFFFF000;
|
||||||
|
const uint32_t P_ROC_EVENT_SWITCH_TIMESTAMP_SHIFT = 12;
|
||||||
|
|
||||||
const uint32_t P_ROC_EVENT_SWITCH_DEBOUNCED_MASK = 0x200;
|
const uint32_t P_ROC_EVENT_SWITCH_DEBOUNCED_MASK = 0x200;
|
||||||
const uint32_t P_ROC_EVENT_SWITCH_DEBOUNCED_SHIFT = 9;
|
const uint32_t P_ROC_EVENT_SWITCH_DEBOUNCED_SHIFT = 9;
|
||||||
|
|||||||
Reference in New Issue
Block a user