JP7NJT wrote: ↑Wed Oct 23, 2024 7:53 pm
Would it be possible to add the management of this field in TX ? Or is it too complicated?
We have no knowledge of this level of the DMR protocol. The firmware simply mimics what the official firmware does, which was implemented by capturing SPI bus transfers from the MCU to the C6000 when the GD77 was running the official firmware. However its possible that something was omitted.
Try looking in the C6000 datasheet to find out whether its actually possible to control this part of the transmission
downloads/datasheets/C6000
also look in the application/hardware/HR-C6000.c source code, specifically the interaction with
Code: Select all
SPI0WritePageRegByteArray(0x02, 0x00, (uint8_t*)deferredUpdateBuffer, LC_DATA_LENGTH); // put LC into hardware
Code: Select all
SPI1WritePageRegByteArray(0x03, 0x00, (uint8_t*)(deferredUpdateBuffer + LC_DATA_LENGTH), AMBE_AUDIO_LENGTH); // send the audio bytes to the hardware
i.e The voice frame data is sent to register 0x02 on SPI bus 0
This is 27 bytes of which half is sent before the "Embedded signalling" and half is sent after the signalling
The C6000 splits the entire voice data frame into the 2 sections.
IIRC SPI0 register 0x02 configures the contents of the "Embedded signalling" e.g. the Voice LC frame,
However the data that is required by the C6000 does not include anything for the lower level of the protocol in your diagram labelled "EMB"
Perhaps you can understand the C6000 data sheet in regard to whether the C6000 generates this or whether there is an interface register to this.
You could also try sending 1 extra bytes in the LC data to register 0x02 to see if this perhaps changes the "EMB" byte value that is transmitted.