Queue multiple DAP commands provided in a multiple packets.
More...
Queue multiple DAP commands provided in a multiple packets.
Queues multiple DAP commands provided in multiple packets. Queuing starts with the first packet that includes DAP_QueueCommands command and continues with all subsequent packets that also include this command. Queued commands execute when a packet without DAP_QueueCommands command is received. Packet size and count limitation for requests and responses needs to respected.
The command is similar to DAP_ExecuteCommands on a packet level but queues multiple packets before processing them.
DAP_QueueCommands Request:
BYTE | BYTE | |
> 0x7E | NumCmd | Command Requests | First queued packet
******|********|+++++++++++++++++++|
.
.
.
BYTE | BYTE | |
> 0x7E | NumCmd | Command Requests | Last queued packet
******|********|+++++++++++++++++++|
- > Command Request (any command except DAP_QueueCommands)
Queued commands are executed before this command
- NumCmd: Number of commands to queue (single packet)
- Commands Requests: Concatenated command requests (single packet)
DAP_QueueCommands Response:
BYTE | BYTE | |
< 0x7F | NumCmd | Command Responses |
******|********|+++++++++++++++++++|
.
.
.
BYTE | BYTE | |
< 0x7F | NumCmd | Command Responses |
******|********|+++++++++++++++++++|
- < Command Response (first non DAP_QueueCommands command)
- NumCmd: Number of commands executed (single packet)
- Commands Responses: Concatenated command responses (single packet)
Example:
Queue DAP_SWJ_Pins and DAP_Delay in first packet.
Queue DAP_SWJ_Pins in second packet.
Queue DAP_Delay in third packet.
Send DAP_SWJ_Pins in fourth packet which executes queued commands and command in the last packet.
Request:
BYTE | BYTE | BYTE | BYTE | BYTE | WORD | BYTE | SHORT |
> 0x7E | 0x02 | 0x10 | Pin Output | Pin Select | Pin Wait | 0x09 | Delay |
******|******|******|************|************|**********|******|*******|
Queue|NumCmd| DAP_SWJ_Pins | DAP_Delay |
BYTE | BYTE | BYTE | BYTE | BYTE | WORD |
> 0x7E | 0x01 | 0x10 | Pin Output | Pin Select | Pin Wait |
******|******|******|************|************|**********|
Queue|NumCmd| DAP_SWJ_Pins |
BYTE | BYTE | BYTE | SHORT |
> 0x7E | 0x01 | 0x09 | Delay |
******|******|******|*******|
Queue|NumCmd| DAP_Delay |
BYTE | BYTE | BYTE | WORD |
> 0x10 | Pin Output | Pin Select | Pin Wait |
******|************|************|**********|
DAP_SWJ_Pins |
Response:
BYTE | BYTE | BYTE | BYTE | BYTE | BYTE |
< 0x7F | 0x02 | 0x10 | Pin Input | 0x09 | Status |
******|******|******|***********|******|********|
|NumCmd| DAP_SWJ_Pins | DAP_Delay |
BYTE | BYTE | BYTE | BYTE |
< 0x7F | 0x01 | 0x10 | Pin Input |
******|******|******|***********|
|NumCmd| DAP_SWJ_Pins |
BYTE | BYTE | BYTE | BYTE |
< 0x7F | 0x01 | 0x09 | Status |
******|******|******|********|
|NumCmd| DAP_Delay |
BYTE | BYTE |
< 0x10 | Pin Input |
******|***********|
DAP_SWJ_Pins |