QueueNotifying#

Modules#

SQueueNotifying

Enumerations#

enum
EQUEUENOTIFYING_STATUS_SUCCESS = 0
EQUEUENOTIFYING_STATUS_TIMEOUT = 1
}

Defines return values from QueueBlocking methods.

Typedefs#

Defines return values from QueueBlocking methods.

typedef struct SQueueNotifying

Notifying Queue object.

Functions#

void
QueueNotifyingInit(SQueueNotifying *pThis, void *Queue, void *ReceiverTask, uint8_t iTaskNotificationBitNumber)

Initialize QueueNotifying.

QueueNotifyingSendToBack(SQueueNotifying *pThis, const uint8_t *pItem, uint32_t iTimeToWait)

Adds item to back of queue and notifies receiver task.

QueueNotifyingSendToBackFromISR(SQueueNotifying *pThis, const uint8_t *pItem)

Adds item to back of queue and notifies receiver task.

QueueNotifyingSendToFront(SQueueNotifying *pThis, const uint8_t *pItem, uint32_t iTimeToWait)

Adds item to front of queue and notifies receiver task.

Enumeration Documentation#

EQueueNotifyingStatus#

EQueueNotifyingStatus

Defines return values from QueueBlocking methods.

Enumerator
EQUEUENOTIFYING_STATUS_SUCCESS

Item successfully put on queue and receiver task notified.

EQUEUENOTIFYING_STATUS_TIMEOUT

Failed to put item on queue as it was full.


Definition at line 33 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/Components/QueueNotifying/QueueNotifying.h

Typedef Documentation#

EQueueNotifyingStatus#

typedef enum EQueueNotifyingStatus EQueueNotifyingStatus

Defines return values from QueueBlocking methods.


Definition at line 39 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/Components/QueueNotifying/QueueNotifying.h

SQueueNotifying#

typedef struct SQueueNotifying SQueueNotifying

Notifying Queue object.

All content is public.


Definition at line 53 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/Components/QueueNotifying/QueueNotifying.h

Function Documentation#

QueueNotifyingInit#

void QueueNotifyingInit (SQueueNotifying *pThis, void *Queue, void *ReceiverTask, uint8_t iTaskNotificationBitNumber)

Initialize QueueNotifying.

Parameters
[in]pThis

Pointer to the QueueNotifying object

[in]Queue

FreeRTOS queue handle. The Queue wrapped by QueueNotifying.

[in]ReceiverTask

FreeRTOS task handle for the task to be notified on adding items to queue.

[in]iTaskNotificationBitNumber

Number defines which bit to use when notifying receiver task of item added to queue (range 0 - 31)

Must be called prior to calling any other QueueNotifying methods on a QueueNotifying object.


Definition at line 68 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/Components/QueueNotifying/QueueNotifying.h

QueueNotifyingSendToBack#

EQueueNotifyingStatus QueueNotifyingSendToBack (SQueueNotifying *pThis, const uint8_t *pItem, uint32_t iTimeToWait)

Adds item to back of queue and notifies receiver task.

Parameters
[in]pThis

Pointer to the QueueNotifying object.

[in]pItem

Pointer to item to put on Queue. Expected size is the size configured in the Queue passed on QueueNotifyingInit.

[in]iTimeToWait

How many milliseconds to wait if queue is full. 0 means dont wait.

Mainly a wrapper method for FreeRTOS xQueueSendToBack(). A notification is also sent to the receiver task.


Definition at line 84 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/Components/QueueNotifying/QueueNotifying.h

QueueNotifyingSendToBackFromISR#

EQueueNotifyingStatus QueueNotifyingSendToBackFromISR (SQueueNotifying *pThis, const uint8_t *pItem)

Adds item to back of queue and notifies receiver task.

Parameters
[in]pThis

Pointer to the QueueNotifying object.

[in]pItem

Pointer to item to put on Queue. Expected size if the size configured in the Queue passed on QueueNotifyingInit.

Mainly a wrapper method for FreeRTOS xQueueSendToBackFromISR(). A notification is also sent to the receiver task.


Definition at line 97 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/Components/QueueNotifying/QueueNotifying.h

QueueNotifyingSendToFront#

EQueueNotifyingStatus QueueNotifyingSendToFront (SQueueNotifying *pThis, const uint8_t *pItem, uint32_t iTimeToWait)

Adds item to front of queue and notifies receiver task.

Parameters
[in]pThis

Pointer to the QueueNotifying object.

[in]pItem

Pointer to item to put on Queue. Expected size if the size configured in the Queue passed on QueueNotifyingInit.

[in]iTimeToWait

How many milliseconds to wait if queue is full. 0 means dont wait.

Mainly a wrapper method for FreeRTOS xQueueSendToFront(). A notification is also sent to the receiver task. It is recommended to use QueueNotifyingSendToBack() instead, unless its a specific wish to put item in front of other items already on the queue.


Definition at line 113 of file /mnt/raid/workspaces/ws.WDdsgIAV6/overlay/gsdk/protocol/z-wave/Components/QueueNotifying/QueueNotifying.h