experiments
This commit is contained in:
parent
de2358e3c8
commit
d7e8386129
|
|
@ -17,7 +17,7 @@ The checksum is calculated over the throttle value and the telemetry bit, so the
|
|||
crc = (value ^ (value >> 4) ^ (value >> 8)) & 0x0F;
|
||||
|
||||
### Bidirectional DSHOT
|
||||
Bidirictional DSHOT is also known as inverted DSHOT, because the signal level is inverted, so 1 is low and a 0 is high. This is done in order to let the ESC know, that we are operating in bidirectional mode and that it should be sending back eRPM telemetry packages.
|
||||
Bidirectional DSHOT is also known as inverted DSHOT, because the signal level is inverted, so 1 is low and a 0 is high. This is done in order to let the ESC know, that we are operating in bidirectional mode and that it should be sending back eRPM telemetry packages.
|
||||
|
||||
#### Calculating the Bidirectional CRC
|
||||
The calculation of the checksum is basically the same, just before the last step the values are inverted:
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ DShotRMT::DShotRMT(gpio_num_t gpio, rmt_channel_t rmtChannel)
|
|||
dshot_config.rmt_channel = rmtChannel;
|
||||
dshot_config.mem_block_num = uint8_t(RMT_CHANNEL_MAX - uint8_t(rmtChannel));
|
||||
|
||||
// ...create clean packet
|
||||
// ...create empty packet
|
||||
encode_dshot_to_rmt(DSHOT_NULL_PACKET);
|
||||
}
|
||||
|
||||
|
|
@ -24,7 +24,7 @@ DShotRMT::DShotRMT(uint8_t pin, uint8_t channel)
|
|||
dshot_config.rmt_channel = rmt_channel_t(channel);
|
||||
dshot_config.mem_block_num = (RMT_CHANNEL_MAX - channel);
|
||||
|
||||
// ...create clean packet
|
||||
// ...create empty packet
|
||||
encode_dshot_to_rmt(DSHOT_NULL_PACKET);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,8 +4,6 @@
|
|||
// Author: derdoktor667
|
||||
//
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef _DSHOTRMT_h
|
||||
#define _DSHOTRMT_h
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue