DSM max throw config

This commit is contained in:
Pascal Langer 2018-01-09 16:04:04 +01:00
parent d3285f002e
commit eb3f8b0d91
4 changed files with 9 additions and 2 deletions

View File

@ -271,7 +271,11 @@ static void __attribute__((unused)) DSM_build_data_packet(uint8_t upper)
{
/* Spektrum own remotes transmit normal values during bind and actually use this (e.g. Nano CP X) to
select the transmitter mode (e.g. computer vs non-computer radio), so always send normal output */
value=convert_channel_16b_nolimit(CH_TAER[idx],0x150,0x6B0); // -100%..+100% => 1100..1900us and -125%..+125% => 1000..2000µs based on Redcon 6 channel DSM2 RX
#ifdef DSM_MAX_THROW
value=Channel_data[CH_TAER[idx]]; // -100%..+100% => 1024..1976us and -125%..+125% => 904..2096us based on Redcon 6 channel DSM2 RX
#else
value=convert_channel_16b_nolimit(CH_TAER[idx],0x150,0x6B0); // -100%..+100% => 1100..1900us and -125%..+125% => 1000..2000us based on Redcon 6 channel DSM2 RX
#endif
if(bits==10) value>>=1;
value |= (upper && i==0 ? 0x8000 : 0) | (idx << bits);
}

View File

@ -19,7 +19,7 @@
#define VERSION_MAJOR 1
#define VERSION_MINOR 2
#define VERSION_REVISION 0
#define VERSION_PATCH_LEVEL 10
#define VERSION_PATCH_LEVEL 11
//******************
// Protocols
//******************

View File

@ -49,6 +49,8 @@
//#define REVERSE_THROTTLE
//#define REVERSE_RUDDER
//DSM protocol is using by default the Spektrum throw of 1100..1900us @100%. For more throw, 1024..1976us @100%, remove the "//" on the line below. Be aware that too much throw can damage some UMX servos.
//#define DSM_MAX_THROW
/*************************/
/*** BIND FROM CHANNEL ***/

View File

@ -357,6 +357,7 @@ Notes:
- model/type/number of channels indicated on the RX can be different from what the RX is in fact wanting to see. So don't hesitate to test different combinations until you have something working. Using Auto is the best way to find these settings.
- RX output will match the Spektrum standard TAER independently of the input configuration AETR, RETA...
- RX output will match the Spektrum standard throw (1500µs +/- 400µs -> 1100..1900µs) for a 100% input. This is true for both Serial and PPM input. For PPM, make sure the end points PPM_MIN_100 and PPM_MAX_100 in _config.h are matching your TX ouput. The maximum ouput is 1000..2000µs based on an input of 125%.
- If you want to override the above and get maximum throw (old way) uncomment in _config.h the line #define DSM_FULL_THROW
### Sub_protocol DSM2_22 - *0*
DSM2, Resolution 1024, refresh rate 22ms