From 974ff1e063de4d705f3cde7414694c5d953ab4f6 Mon Sep 17 00:00:00 2001
From: Erik Strand <erik.strand@cba.mit.edu>
Date: Tue, 7 May 2019 21:33:51 -0400
Subject: [PATCH] Disable interrupts for put_char

This fixes the weird symbols that were randomly appearing.
---
 strandstring/strandstring.pde | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/strandstring/strandstring.pde b/strandstring/strandstring.pde
index d859236..9db34b5 100644
--- a/strandstring/strandstring.pde
+++ b/strandstring/strandstring.pde
@@ -16,7 +16,7 @@
 #include <util/delay.h>
 #include <avr/pgmspace.h>
 
-#include "OneWire.h"
+#include "OneWireMod.h"
 
 #define output(directions,pin) (directions |= pin) // set port direction for output
 #define set(port,pin) (port |= pin) // set port pin
@@ -41,6 +41,7 @@
 #define max_buffer 25
 
 void put_char(volatile unsigned char *port, unsigned char pin, char txchar) {
+	noInterrupts();
     //
     // send character in txchar on port pin
     //    assumes line driver (inverts bits)
@@ -101,6 +102,7 @@ void put_char(volatile unsigned char *port, unsigned char pin, char txchar) {
     // char delay
     //
     bit_delay();
+    interrupts();
 }
 
 void put_string(volatile unsigned char *port, unsigned char pin, char *str) {
@@ -146,6 +148,9 @@ void loop(void) {
         PORTB |= led_pin;
         //put_char(&serial_port, serial_pin_out, '1');
     }
+    put_string(&serial_port, serial_pin_out, "hello world");
+    delay(500);
+    return;
 
     byte i;
     byte present = 0;
-- 
GitLab