// Signature and version codes #define SIGNATURE_CODE1 2 // day #define SIGNATURE_CODE2 6 // month #define SIGNATURE_CODE3 20 // century #define SIGNATURE_CODE4 12 // year of century #define CODE_MAYOR_VERSION 0 #define CODE_MINOR_VERSION 2 // Default system config #define DEFAULT_system_useBacklight false #define DEFAULT_system_useSpeaker true #define DEFAULT_system_num_models 0 #define DEFAULT_system_sel_model 0 #define DEFAULT_system_id 0 #define DEFAULT_remote_Port 8000 #define DEFAULT_local_Port 9000 #define DEFAULT_system_baudrate 0 #define DEFAULT_timetotalvideo 40 #define DEFAULT_timerecvideo 10 #define DEFAULT_timepausevideo 5 #define DEFAULT_timetotalphoto 3600 #define DEFAULT_timeflash 60 #define DEFAULT_BATTERY_HIGH 420 #define DEFAULT_BATTERY_LOW 350 #define DEFAULT_SSID "Mi$Red" #define DEFAULT_PASS "FINALFANTASY" // EEPROM size in bytes #define EEPROM_SIZE 512 // EEPROM Addreses for signature code and version of firmware #define EE_ADDR_BATTERY_HIGH 0x00 // 2 BYTE #define EE_ADDR_BATTERY_LOW 0x02 // 2 BYTE #define EE_ADDR_SIGNATURE_CODE1 0x04 // BYTE #define EE_ADDR_SIGNATURE_CODE2 0x05 // BYTE #define EE_ADDR_SIGNATURE_CODE3 0x06 // BYTE #define EE_ADDR_SIGNATURE_CODE4 0x07 // BYTE #define EE_ADDR_CODE_MAYOR_VERSION 0x08 // BYTE #define EE_ADDR_CODE_MINOR_VERSION 0x09 // BYTE // EEPROM Addreses for system config #define EE_ADDR_system_useBacklight 0x0A // BYTE #define EE_ADDR_system_useSpeaker 0x0B // BYTE #define EE_ADDR_system_interfaceSensorLimit 0x0C // BYTE // EEPROM Addreses for the 24lc256 #define EEI2C_ADDR_SSID 0 //Nombre de la red de maximo 32 bytes (0-31) #define EEI2C_ADDR_PASS 32 //Pass de la red de maximo 32 bytes (32-63) #define EEI2C_ADDR_REMOTE 64 //Puerto remoto 2 bytes (64-65) #define EEI2C_ADDR_LOCAL 66 //Puerto local 2 bytes (66-67) #define EEI2C_ADDR_HOST 68 //Ip del Host 16 bytes (68-83) #define EEI2C_ADDR_system_baudrate 84 //1 BYTE Codifica Baudrate de 9600 a 115200 del 0 al 3 #define EEI2C_ADDR_system_num_models 85 // 85-86 (Numero de modelos en la EEPROM) #define EEI2C_ADDR_system_sel_model 87 // 87-88 (Numero de modelo seleccionado de la EEPROM) #define EEI2C_ADDR_system_id 89 //1 BYTE Codifica ID #define EEI2C_ADDR_timetotalvideo 90 // 90-97 (Tiempo total de video) #define EEI2C_ADDR_timerecvideo 98 // 98-105 (Tiempo de grabacion) #define EEI2C_ADDR_timepausevideo 106 // 106-113 (Tiempo de pausa) #define EEI2C_ADDR_timetotalphoto 114 // 114-121 (Tiempo total de video) #define EEI2C_ADDR_timeflash 122 // 122-129 (Tiempo de grabacion) #define EEI2C_ADDR_MODELS 130 //Inicio de la tabla de codigos de camaras #define EEI2C_SIZE 32000 //TamaƱo maximo de la memoria // Keycodes #define NO_KEY 0 // No keys pressed #define KEY_A 1 // Button A was pressed #define KEY_B 2 // Button B was pressed #define KEY_C 3 // Button A was pressed #define KEY_D 4 // Button B was pressed #define KEY_AH 5 // Button A was pressed and holded (KEY_HOLD_TIME) milisecons #define KEY_BH 6 // Button B was pressed and holded (KEY_HOLD_TIME) milisecons #define KEY_CH 7 // Button A was pressed and holded (KEY_HOLD_TIME) milisecons #define KEY_DH 8 // Button B was pressed and holded (KEY_HOLD_TIME) milisecons // Keyboard times #define KEY_DEBOUNCE_TIME 1 // debounce time (ms) to prevent flickering when pressing or releasing the button #define KEY_HOLD_TIME 400 // holding period (ms) how long to wait for press+hold event