summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2016-02-26 23:57:52 +0100
committerDaniel Friesel <derf@finalrewind.org>2016-02-26 23:57:52 +0100
commit8df1d910e4701b80bf00d4da099d31315c326e4e (patch)
tree7577a602d212cbfc4c365b747b1cdfc6acd32c90
parent2d556b007abb9da17a044e94a5a544aabdf2fda0 (diff)
Disable hamming state reset logic (contains a -really- stuid bug)
-rw-r--r--src/fecmodem.cc5
-rw-r--r--src/modem.h2
-rw-r--r--utilities/blinkenrocket.py5
3 files changed, 6 insertions, 6 deletions
diff --git a/src/fecmodem.cc b/src/fecmodem.cc
index f1b269b..3e4af68 100644
--- a/src/fecmodem.cc
+++ b/src/fecmodem.cc
@@ -50,8 +50,9 @@ uint8_t FECModem::hamming2416(uint8_t *byte1, uint8_t *byte2, uint8_t parity)
uint8_t FECModem::buffer_available()
{
- if (newTransmission())
- hammingState = FIRST_BYTE;
+// XXX this reset implementation is _completely_ broken
+// if (newTransmission())
+// hammingState = FIRST_BYTE;
if (this->Modem::buffer_available() >= 3)
return 2;
if (hammingState == SECOND_BYTE)
diff --git a/src/modem.h b/src/modem.h
index 02c3fba..e3706f3 100644
--- a/src/modem.h
+++ b/src/modem.h
@@ -11,7 +11,7 @@
#include <stdlib.h>
/* Modem ring buffer size must be power of 2 */
-#define MODEM_BUFFER_SIZE 32
+#define MODEM_BUFFER_SIZE 64
/* Modem defines */
#define MODEM_SYNC_LEN 42
diff --git a/utilities/blinkenrocket.py b/utilities/blinkenrocket.py
index c027dd5..00787fa 100644
--- a/utilities/blinkenrocket.py
+++ b/utilities/blinkenrocket.py
@@ -90,9 +90,8 @@ class modem:
for byte in self.data:
sound += self.modemcode(ord(byte))
self.cnt += 1
- if self.cnt == 10:
- sound += self.silence(256) # TODO determine required amount of silence
- sound += self.generateSyncSignal(2)
+ if self.cnt == 9: # ! do not send sync inside (byte1 byte2 parity) triples
+ sound += self.generateSyncSignal(4)
self.cnt = 0
# add some sync signals in the end
sound += self.generateSyncSignal(4)