Skip to content

Packing mode HYDRASDR_PACKING_TIMESTAMP_ON is broken #2

@r2x0t

Description

@r2x0t

While most code to support it is correctly implemented in this firmware, required modification to DMA parameters is missing.
In ADCHS.C function ADCHS_DMA_init adchs_dma_lli[i].control as well as dst_addr must be set differently when framed mode is used:
if (packed==HYDRASDR_PACKING_TIMESTAMP_ON) {
adchs_dma_lli[i].dst_addr+=4; // have to skip the packet header
adchs_dma_lli[i].control = ( (nb_dma_transfer-1) << 0) |
(0x2 << 12) |
(0x1 << 15) | // 4x burst because of offset
(0x2 << 18) |
(0x2 << 21) |
(0x1 << 24) |
(0x1 << 25) |
(0x0 << 26) |
(0x1 << 27) |
(0x0UL << 31);
} else {
//normal mode, existing DMA config

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions