Skip to content

Instantly share code, notes, and snippets.

@ryukzak
Created March 21, 2010 11:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ryukzak/339235 to your computer and use it in GitHub Desktop.
Save ryukzak/339235 to your computer and use it in GitHub Desktop.
#define led_conduction 0xFF
#define dip_state 0
#define init_led_state 1
#define led_state 2
#define rev_led_state 3
char din, dip, state;
while (dip = read_dip()){
switch (state){
case dip_state:
din == led_conduction ? state = dip_init : din = dip;
break;
case init_led_state:
din = 0x01;
state = led_state;
break;
case led_state:
din == 0x80 ? state = rev_led_state : din << 1;
dip != led_conduction ? state = dip_state;
break;
case rev_led_state:
din == 0x01 ? state = led_state : din >> 1;
dip != led_conduction ? state = dip_state;
break;
}
set_din(din);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment