diff options
author | Daniel Garcia <dgarcia@dgarcia.net> | 2019-02-17 00:43:11 +0300 |
---|---|---|
committer | Daniel Garcia <dgarcia@dgarcia.net> | 2019-02-17 00:43:11 +0300 |
commit | 3db75d4b3ac75ab8910c7e5e38bea36f78adce2e (patch) | |
tree | eadb3309e44e9a5ce5e802d3696260f4fca4b4db | |
parent | 6af86cea6cbe110b0ec9432c52db9e74d1704717 (diff) |
Fix #737 - don't invert the bits in what's being written out until after shifted, otherwise we end up writing out 1's for the low bits on 12-bit output devices
-rw-r--r-- | platforms/esp/8266/clockless_esp8266.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/platforms/esp/8266/clockless_esp8266.h b/platforms/esp/8266/clockless_esp8266.h index f799635a..83d05b3f 100644 --- a/platforms/esp/8266/clockless_esp8266.h +++ b/platforms/esp/8266/clockless_esp8266.h @@ -53,7 +53,7 @@ protected: #define _ESP_ADJ2 (0) template<int BITS> __attribute__ ((always_inline)) inline static void writeBits(register uint32_t & last_mark, register uint32_t b) { - b = ~b; b <<= 24; + b <<= 24; b = ~b; for(register uint32_t i = BITS; i > 0; i--) { while((__clock_cycles() - last_mark) < (T1+T2+T3)); last_mark = __clock_cycles(); |