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;
|
crc = (value ^ (value >> 4) ^ (value >> 8)) & 0x0F;
|
||||||
|
|
||||||
### Bidirectional DSHOT
|
### 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
|
#### Calculating the Bidirectional CRC
|
||||||
The calculation of the checksum is basically the same, just before the last step the values are inverted:
|
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.rmt_channel = rmtChannel;
|
||||||
dshot_config.mem_block_num = uint8_t(RMT_CHANNEL_MAX - uint8_t(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);
|
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.rmt_channel = rmt_channel_t(channel);
|
||||||
dshot_config.mem_block_num = (RMT_CHANNEL_MAX - channel);
|
dshot_config.mem_block_num = (RMT_CHANNEL_MAX - channel);
|
||||||
|
|
||||||
// ...create clean packet
|
// ...create empty packet
|
||||||
encode_dshot_to_rmt(DSHOT_NULL_PACKET);
|
encode_dshot_to_rmt(DSHOT_NULL_PACKET);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,6 @@
|
||||||
// Author: derdoktor667
|
// Author: derdoktor667
|
||||||
//
|
//
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#ifndef _DSHOTRMT_h
|
#ifndef _DSHOTRMT_h
|
||||||
#define _DSHOTRMT_h
|
#define _DSHOTRMT_h
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue