]> git.tdb.fi Git - model-railway-devices.git/blobdiff - arducontrol/output.h
Add a subsystem by which other modules can sync to the output
[model-railway-devices.git] / arducontrol / output.h
index c94c665bad6d9c322be59636b6b720b5103fe374..0a76c5f2a4c25019b25ca4a7043ee69b995e1b63 100644 (file)
@@ -5,22 +5,23 @@
 
 typedef struct
 {
-       uint8_t bit_duration:5;
-       uint8_t ready:1;
-       uint8_t sending:1;
-       volatile uint8_t done:1;
+       uint8_t bit_duration;
        uint8_t length;
        uint8_t data[32];
        uint8_t repeat_count;
        uint8_t repeat_delay;
        uint8_t final_delay;
+       uint8_t trigger_position;
+       uint8_t trigger_value;
 } OutputPacket;
 
-extern OutputPacket packet;
-
 void output_init(void);
-void clear_packet(void);
+OutputPacket *output_create_packet(void);
+OutputPacket *output_create_chained_packet(void);
+void output_send_packet(void);
+uint8_t output_get_trigger(void);
 void output_set_power(uint8_t);
+uint8_t output_is_power_on();
 uint8_t output_command(const uint8_t *, uint8_t);
 
 #endif