make uart_pty threadsafe
[simavr] / examples / board_ledramp / ledramp.c
index 5167c66..4e765ba 100644 (file)
@@ -90,7 +90,7 @@ void keyCB(unsigned char key, int x, int y)   /* called on key press */
 {
        if (key == 'q')
                exit(0);
-       static uint8_t buf[64];
+       //static uint8_t buf[64];
        switch (key) {
                case 'q':
                case 0x1f: // escape
@@ -135,6 +135,7 @@ static void * avr_run_thread(void * oaram)
                        button_press(&button, 1000000);
                }
        }
+       return NULL;
 }
 
 
@@ -142,24 +143,24 @@ int main(int argc, char *argv[])
 {
        elf_firmware_t f;
        const char * fname =  "atmega48_ledramp.axf";
-       char path[256];
+       //char path[256];
 
-       sprintf(path, "%s/%s", dirname(argv[0]), fname);
-       printf("Firmware pathname is %s\n", path);
-       elf_read_firmware(path, &f);
+//     sprintf(path, "%s/%s", dirname(argv[0]), fname);
+//     printf("Firmware pathname is %s\n", path);
+       elf_read_firmware(fname, &f);
 
        printf("firmware %s f=%d mmcu=%s\n", fname, (int)f.frequency, f.mmcu);
 
        avr = avr_make_mcu_by_name(f.mmcu);
        if (!avr) {
-               fprintf(stderr, "%s: AVR '%s' now known\n", argv[0], f.mmcu);
+               fprintf(stderr, "%s: AVR '%s' not known\n", argv[0], f.mmcu);
                exit(1);
        }
        avr_init(avr);
        avr_load_firmware(avr, &f);
 
        // initialize our 'peripheral'
-       button_init(avr, &button);
+       button_init(avr, &button, "button");
        // "connect" the output irw of the button to the port pin of the AVR
        avr_connect_irq(
                button.irq + IRQ_BUTTON_OUT,