mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2025-02-04 14:28:14 +00:00
SFHSS: Timing debug
This commit is contained in:
parent
ca3c2bbdc8
commit
3d4ed5ad11
@ -126,7 +126,7 @@ static void __attribute__((unused)) SFHSS_calc_next_chan()
|
|||||||
// Channel values are 12-bit values between 1020 and 2020, 1520 is the middle.
|
// Channel values are 12-bit values between 1020 and 2020, 1520 is the middle.
|
||||||
// Futaba @140% is 2070...1520...970
|
// Futaba @140% is 2070...1520...970
|
||||||
// Values grow down and to the right.
|
// Values grow down and to the right.
|
||||||
static void __attribute__((unused)) SFHSS_build_data_packet()
|
static void __attribute__((unused)) SFHSS_send_packet()
|
||||||
{
|
{
|
||||||
uint16_t ch[4];
|
uint16_t ch[4];
|
||||||
// command.bit0 is the packet number indicator: =0 -> SFHSS_DATA1, =1 -> SFHSS_DATA2
|
// command.bit0 is the packet number indicator: =0 -> SFHSS_DATA1, =1 -> SFHSS_DATA2
|
||||||
@ -202,15 +202,17 @@ static void __attribute__((unused)) SFHSS_build_data_packet()
|
|||||||
packet[10] = (ch[2] << 7) | ((ch[3] >> 5) & 0x7F );
|
packet[10] = (ch[2] << 7) | ((ch[3] >> 5) & 0x7F );
|
||||||
packet[11] = (ch[3] << 3) | ((fhss_code >> 2) & 0x07 );
|
packet[11] = (ch[3] << 3) | ((fhss_code >> 2) & 0x07 );
|
||||||
packet[12] = (fhss_code << 6) | command;
|
packet[12] = (fhss_code << 6) | command;
|
||||||
}
|
|
||||||
|
|
||||||
static void __attribute__((unused)) SFHSS_send_packet()
|
|
||||||
{
|
|
||||||
CC2500_WriteData(packet, SFHSS_PACKET_LEN);
|
CC2500_WriteData(packet, SFHSS_PACKET_LEN);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint16_t SFHSS_callback()
|
uint16_t SFHSS_callback()
|
||||||
{
|
{
|
||||||
|
#ifdef SFHSS_DEBUG_TIMING
|
||||||
|
static uint16_t prev_adjust_timing=1024;
|
||||||
|
uint16_t adjust_timing = (Channel_data[CH15]>>3) - (1024>>3); // +-102 @ 100%
|
||||||
|
#endif
|
||||||
|
|
||||||
switch(phase)
|
switch(phase)
|
||||||
{
|
{
|
||||||
case SFHSS_START:
|
case SFHSS_START:
|
||||||
@ -237,23 +239,26 @@ uint16_t SFHSS_callback()
|
|||||||
#ifdef MULTI_SYNC
|
#ifdef MULTI_SYNC
|
||||||
telemetry_set_input_sync(6800);
|
telemetry_set_input_sync(6800);
|
||||||
#endif
|
#endif
|
||||||
SFHSS_build_data_packet();
|
|
||||||
SFHSS_send_packet();
|
SFHSS_send_packet();
|
||||||
phase = SFHSS_DATA2;
|
phase = SFHSS_DATA2;
|
||||||
#ifdef SFHSS_DEBUG_TIMING
|
#ifdef SFHSS_DEBUG_TIMING
|
||||||
return SFHSS_DATA2_TIMING - 1024 + (Channel_data[CH15]>>1);
|
return SFHSS_DATA2_TIMING - adjust_timing;
|
||||||
#else
|
#else
|
||||||
return SFHSS_DATA2_TIMING; // original 1650
|
return SFHSS_DATA2_TIMING; // original 1650
|
||||||
#endif
|
#endif
|
||||||
case SFHSS_DATA2:
|
case SFHSS_DATA2:
|
||||||
SFHSS_build_data_packet();
|
|
||||||
SFHSS_send_packet();
|
SFHSS_send_packet();
|
||||||
SFHSS_calc_next_chan();
|
SFHSS_calc_next_chan();
|
||||||
phase = SFHSS_TUNE;
|
phase = SFHSS_TUNE;
|
||||||
#ifdef SFHSS_DEBUG_TIMING
|
#ifdef SFHSS_DEBUG_TIMING
|
||||||
return SFHSS_PACKET_PERIOD -2000 - (SFHSS_DATA2_TIMING - 1024 + (Channel_data[CH15]>>1));
|
if(prev_adjust_timing != adjust_timing)
|
||||||
|
{
|
||||||
|
debugln("A:%d",(uint16_t)(SFHSS_DATA2_TIMING - adjust_timing));
|
||||||
|
prev_adjust_timing = adjust_timing;
|
||||||
|
}
|
||||||
|
return SFHSS_PACKET_PERIOD -2000 -(SFHSS_DATA2_TIMING - adjust_timing);
|
||||||
#else
|
#else
|
||||||
return (SFHSS_PACKET_PERIOD -2000 -SFHSS_DATA2_TIMING); // original 2000
|
return SFHSS_PACKET_PERIOD -2000 -SFHSS_DATA2_TIMING; // original 2000
|
||||||
#endif
|
#endif
|
||||||
case SFHSS_TUNE:
|
case SFHSS_TUNE:
|
||||||
phase = SFHSS_DATA1;
|
phase = SFHSS_DATA1;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user