Changeset 22
- Timestamp:
- Mar 4, 2012, 11:50:12 PM (9 years ago)
- Location:
- trunk
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/adc.c
r11 r22 2 2 /** 3 3 * @author Andreas Hummel 4 * / create date 27.12.20115 * / last change 07.02.20126 * @version 0.907 4 * @defgroup adc Analog/digital conversion module (adc.c) 8 5 * @brief This module provides a simple a/d conversion function -
trunk/adc.h
r11 r22 2 2 /** 3 3 * @author Andreas Hummel 4 * / create date 27.12.20115 * / last change 07.02.20126 * @version 0.907 4 * @defgroup adc Analog/digital conversion module (adc.c) 8 5 * @brief This module provides a simple a/d conversion function -
trunk/configuration.c
r11 r22 2 2 /** 3 3 * @author Andreas Hummel 4 * / create date 03.12.20115 * / last change 07.02.20126 * @version 0.907 4 * @defgroup configuration EEPROM config module (configuration.c) 8 5 * @brief This module provides access to the configuration stored in the EEPROM -
trunk/configuration.h
r11 r22 2 2 /** 3 3 * @author Andreas Hummel 4 * / create date 03.12.20115 * / last change 07.02.20126 * @version 0.907 4 * @defgroup configuration EEPROM config module (configuration.c) 8 5 * @brief This module provides access to the configuration stored in the EEPROM -
trunk/main.c
r11 r22 2 2 /** 3 3 * @author Andreas Hummel 4 * / create date 01.11.20115 * / last change 07.02.20126 * @version 0.907 4 * @defgroup main CatFlap main program. (main.c) 8 5 * @brief This module is the entry point and controls the user interface of the catflap. … … 41 38 42 39 /// Serial command character I, opens the incoming lock 43 #define SERIAL_COMMAND_OPEN_IN 40 #define SERIAL_COMMAND_OPEN_IN 'I' 44 41 /// Serial command character B, beeps 45 #define SERIAL_COMMAND_BEEP 42 #define SERIAL_COMMAND_BEEP 'B' 46 43 /// Serial command character P, prints status and config to serial port 47 #define SERIAL_COMMAND_PRINT 'P' 44 #define SERIAL_COMMAND_PRINT 'P' 45 /// Serial command character N, sets night mode 46 #define SERIAL_COMMAND_NIGHT 'N' 47 /// Serial command character D, sets day mode 48 #define SERIAL_COMMAND_DAY 'D' 49 /// Serial command character V, sets vet mode 50 #define SERIAL_COMMAND_VET 'V' 51 /// Serial command character X, sets normal mode 52 #define SERIAL_COMMAND_NORMAL 'X' 48 53 49 54 #define STATE_BEGIN 0 … … 53 58 #define STATE_PROGRAM 4 54 59 #define STATE_CONFIG 5 60 #define STATE_NORMAL_DAY 6 55 61 56 62 #define CONFIG_POS_EXIT 1 … … 268 274 Beep(100); 269 275 printf("OK - Beep\n"); 276 break; 277 case SERIAL_COMMAND_NIGHT: 278 if(STATE==STATE_NORMAL_NORMAL || STATE==STATE_NORMAL_DOC || STATE==STATE_NORMAL_DAY) 279 { 280 STATE = STATE_NORMAL_NIGHT; 281 printf("OK - Night mode\n"); 282 } 283 else 284 printf("ERR - Bad mode\n"); 285 break; 286 case SERIAL_COMMAND_DAY: 287 if(STATE==STATE_NORMAL_NORMAL || STATE==STATE_NORMAL_DOC || STATE==STATE_NORMAL_NIGHT) 288 { 289 STATE = STATE_NORMAL_DAY; 290 printf("OK - Day mode\n"); 291 } 292 else 293 printf("ERR - Bad mode\n"); 294 break; 295 case SERIAL_COMMAND_NORMAL: 296 if(STATE==STATE_NORMAL_DAY || STATE==STATE_NORMAL_DOC || STATE==STATE_NORMAL_NIGHT) 297 { 298 STATE = STATE_NORMAL_NORMAL; 299 printf("OK - Normal mode\n"); 300 } 301 else 302 printf("ERR - Bad mode\n"); 303 break; 304 case SERIAL_COMMAND_VET: 305 if(STATE==STATE_NORMAL_DAY || STATE==STATE_NORMAL_NORMAL || STATE==STATE_NORMAL_NIGHT) 306 { 307 STATE = STATE_NORMAL_DOC; 308 printf("OK - Vet mode\n"); 309 } 310 else 311 printf("ERR - Bad mode\n"); 270 312 break; 271 313 case SERIAL_COMMAND_PRINT: … … 462 504 // If in normal mode beep and... 463 505 Beep(100); 464 // ...toggle night mode 465 if(STATE == STATE_NORMAL_NORMAL) 466 STATE = STATE_NORMAL_NIGHT; 467 else if(STATE == STATE_NORMAL_DOC || STATE == STATE_NORMAL_NIGHT) 468 STATE = STATE_NORMAL_NORMAL; 506 if(time < BUTTON_LONG_TIME) 507 { 508 // ...toggle night mode 509 if(STATE == STATE_NORMAL_NORMAL) 510 STATE = STATE_NORMAL_NIGHT; 511 else if(STATE == STATE_NORMAL_DOC || STATE == STATE_NORMAL_NIGHT || STATE == STATE_NORMAL_DAY) 512 STATE = STATE_NORMAL_NORMAL; 513 } 514 else 515 { 516 // If pressed long 517 // ...toggle day mode 518 if(STATE == STATE_NORMAL_NORMAL) 519 STATE = STATE_NORMAL_DAY; 520 } 469 521 } 470 522 … … 503 555 504 556 // If in normal mode... 557 Beep(100); 505 558 if(time < BUTTON_LONG_TIME) 506 559 { 507 560 // Pressed short -> Toggle Doc mode 508 Beep(100);509 561 if(STATE == STATE_NORMAL_NORMAL) 510 562 STATE = STATE_NORMAL_DOC; 511 else if(STATE == STATE_NORMAL_DOC || STATE == STATE_NORMAL_NIGHT )563 else if(STATE == STATE_NORMAL_DOC || STATE == STATE_NORMAL_NIGHT || STATE == STATE_NORMAL_DAY) 512 564 STATE = STATE_NORMAL_NORMAL; 513 565 } … … 515 567 { 516 568 // Pressed long -> Program new cats 517 Beep(100);518 569 OLD_STATE = STATE; 519 570 STATE = STATE_PROGRAM; … … 791 842 blink_green=FALSE; 792 843 } 793 // Loops794 serial_input_loop();795 button_input_loop();796 perform_timer();797 844 break; 798 845 case STATE_NORMAL_NIGHT: … … 807 854 blink_green=FALSE; 808 855 } 809 // Loops 810 serial_input_loop(); 811 button_input_loop(); 812 perform_timer(); 856 break; 857 case STATE_NORMAL_DAY: 858 { 859 // In day mode, the door is locked if its not dark 860 SetLock(LOCK_RED,!is_dark); 861 // Blink green LED if in day mode 862 blink_green=TRUE; 863 // Enable red LED if its day 864 LedRed(!is_dark); 865 blink_red=FALSE; 866 } 813 867 break; 814 868 case STATE_NORMAL_DOC: … … 819 873 blink_red=TRUE; 820 874 blink_green=FALSE; 821 // Loops822 serial_input_loop();823 button_input_loop();824 perform_timer();825 875 break; 826 876 case STATE_CONFIG: … … 830 880 LedRed(FALSE); 831 881 LedGreen(TRUE); 832 // Loops833 serial_input_loop();834 button_input_loop();835 perform_timer();836 882 break; 837 883 case STATE_PROGRAM: … … 840 886 blink_green=TRUE; 841 887 blink_red=FALSE; 842 // Loops 843 serial_input_loop(); 844 button_input_loop(); 845 perform_timer(); 846 break; 847 } 888 break; 889 } 890 891 // Loops 892 serial_input_loop(); 893 button_input_loop(); 894 perform_timer(); 848 895 849 896 #ifdef HAS_FLAP_POTI -
trunk/peripherals.c
r11 r22 2 2 /** 3 3 * @author Andreas Hummel 4 * / create date 05.11.20115 * / last change 07.02.20126 * @version 0.907 4 * @defgroup peripheral Peripheral definition and control module (peripherals.c) 8 5 * @brief This module provides access to the peripheral components of the MCU -
trunk/peripherals.h
r14 r22 2 2 /** 3 3 * @author Andreas Hummel 4 * / create date 05.11.20115 * / last change 07.02.20126 * @version 0.907 4 * @defgroup peripheral Peripheral definition and control module (peripherals.c) 8 5 * @brief This module provides access to the peripheral components of the MCU -
trunk/rfid.c
r11 r22 2 2 /** 3 3 * @author Andreas Hummel 4 * / create date 01.11.20115 * / last change 07.02.20126 * @version 0.907 4 * @defgroup rfid RFID receiving and decoding module (rfid.c) 8 5 * @brief This module receives (from the analog comparator) and decodes the animal tag (ISO11784/ISO11785) data. -
trunk/rfid.h
r11 r22 2 2 /** 3 3 * @author Andreas Hummel 4 * / create date 01.11.20115 * / last change 07.02.20126 * @version 0.907 4 * @defgroup rfid RFID receiving and decoding module (rfid.c) 8 5 * @brief This module receives (from the analog comparator) and decodes the animal tag (ISO11784/ISO11785) data. -
trunk/ser.c
r11 r22 2 2 /** 3 3 * @author Andreas Hummel 4 * / create date 06.11.20115 * / last change 07.02.20126 * @version 0.907 4 * @defgroup ser Serial communication module (ser.c) 8 5 * @brief This module provides serial communication functions -
trunk/ser.h
r11 r22 2 2 /** 3 3 * @author Andreas Hummel 4 * / create date 06.11.20115 * / last change 07.02.20126 * @version 0.907 4 * @defgroup ser Serial communication module (ser.c) 8 5 * @brief This module provides serial communication functions -
trunk/timer.c
r11 r22 2 2 /** 3 3 * @author Andreas Hummel 4 * / create date 03.12.20115 * / last change 07.02.20126 * @version 0.907 4 * @defgroup timer Timer module (timer.c) 8 5 * @brief This module provides a simple timer facility. -
trunk/timer.h
r11 r22 2 2 /** 3 3 * @author Andreas Hummel 4 * / create date 03.12.20115 * / last change 07.02.20126 * @version 0.907 4 * @defgroup timer Timer module (timer.c) 8 5 * @brief This module provides a simple timer facility. -
trunk/types.h
r11 r22 2 2 /** 3 3 * @author Andreas Hummel 4 * / create date 05.11.20115 * / last change 07.02.20126 * @version 0.907 4 * @defgroup types Type and version definition file (types.h) 8 5 * @brief This module contains type and version definitions. … … 46 43 #define hi8(x) ((x)>>8) 47 44 /// Version 48 #define VERSION "CatFlap V0.9 0\n"45 #define VERSION "CatFlap V0.95\n" 49 46 50 47 /// Uncomment if you want to debug the RFID data
Note: See TracChangeset
for help on using the changeset viewer.