#2894 - Crossfire (inverted serial) sent on S.PORT pin in the module bay (ported from master f7044a20ec)
16 channels sent every 2.5ms now @ 200KBauds with CRC
This commit is contained in:
@@ -98,6 +98,11 @@ void setupPulses(unsigned int port)
|
||||
}
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
#if defined(PCBTARANIS) && defined(CROSSFIRE)
|
||||
case MODULE_TYPE_CROSSFIRE:
|
||||
required_protocol = PROTO_CROSSFIRE;
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
required_protocol = PROTO_NONE;
|
||||
@@ -129,6 +134,11 @@ void setupPulses(unsigned int port)
|
||||
case PROTO_DSM2_DSMX:
|
||||
disable_dsm2(port);
|
||||
break;
|
||||
#endif
|
||||
#if defined(CROSSFIRE)
|
||||
case PROTO_CROSSFIRE:
|
||||
disable_crossfire(port);
|
||||
break;
|
||||
#endif
|
||||
case PROTO_PPM:
|
||||
disable_ppm(port);
|
||||
@@ -150,10 +160,16 @@ void setupPulses(unsigned int port)
|
||||
case PROTO_DSM2_DSMX:
|
||||
init_dsm2(port);
|
||||
break;
|
||||
#endif
|
||||
#if defined(CROSSFIRE)
|
||||
case PROTO_CROSSFIRE:
|
||||
init_crossfire(port);
|
||||
break;
|
||||
#endif
|
||||
case PROTO_PPM:
|
||||
init_ppm(port);
|
||||
break;
|
||||
|
||||
default:
|
||||
init_no_pulses(port);
|
||||
break;
|
||||
@@ -171,6 +187,17 @@ void setupPulses(unsigned int port)
|
||||
case PROTO_DSM2_DSMX:
|
||||
setupPulsesDSM2(port);
|
||||
break;
|
||||
#endif
|
||||
#if defined(CROSSFIRE)
|
||||
case PROTO_CROSSFIRE:
|
||||
{
|
||||
if (telemetryProtocol == PROTOCOL_PULSES_CROSSFIRE) {
|
||||
uint8_t * crossfire = modulePulsesData[port].crossfire.pulses;
|
||||
createCrossfireFrame(crossfire, &channelOutputs[g_model.moduleData[port].channelsStart]);
|
||||
sportSendBuffer(crossfire, CROSSFIRE_FRAME_LEN);
|
||||
}
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
case PROTO_PPM:
|
||||
setupPulsesPPM(port);
|
||||
|
||||
Reference in New Issue
Block a user