// Signature and version codes #define SIGNATURE_CODE1 15 // day #define SIGNATURE_CODE2 11 // month #define SIGNATURE_CODE3 20 // century #define SIGNATURE_CODE4 12 // year of century #define CODE_MAYOR_VERSION 0 #define CODE_MINOR_VERSION 3 // Default system config #define DEFAULT_system_useBacklight true #define DEFAULT_system_useSpeaker true #define DEFAULT_system_num_models 0 #define DEFAULT_system_sel_model 0 #define DEFAULT_system_id 0 #define DEFAULT_system_vol 10 #define DEFAULT_system_mode true #define DEFAULT_remote_Port 8000 #define DEFAULT_local_Port 9000 #define DEFAULT_ip_host "192.168.1.2" #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 820 //420 #define DEFAULT_BATTERY_LOW 620 //350 #define DEFAULT_SSID "VDOSSIER" #define DEFAULT_PASS "VDOSSIER" // EEPROM size in bytes #define EEPROM_SIZE 256 // EEPROM Addreses for signature code and version of firmware #define EE_ADDR_SIGNATURE_CODE1 0x00 // BYTE #define EE_ADDR_SIGNATURE_CODE2 0x01 // BYTE #define EE_ADDR_SIGNATURE_CODE3 0x02 // BYTE #define EE_ADDR_SIGNATURE_CODE4 0x03 // BYTE #define EE_ADDR_CODE_MAYOR_VERSION 0x04 // BYTE #define EE_ADDR_CODE_MINOR_VERSION 0x05 // BYTE // EEPROM Addreses for system config #define EE_ADDR_system_useBacklight 0x06 // BYTE #define EE_ADDR_system_useSpeaker 0x07 // 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_system_mode 90 //1 BYTE Selecciona Modo lanc o IR #define EEI2C_ADDR_system_vol 91 //1 BYTE Volumen del dispositivo #define EEI2C_ADDR_timetotalvideo 92 // 92-99 (Tiempo total de video) #define EEI2C_ADDR_timerecvideo 100 // 100-107 (Tiempo de grabacion) #define EEI2C_ADDR_timepausevideo 108 // 108-115 (Tiempo de pausa) #define EEI2C_ADDR_timetotalphoto 116 // 116-123 (Tiempo total de video) #define EEI2C_ADDR_timeflash 124 // 124-131 (Tiempo de grabacion) #define EEI2C_ADDR_MODELS 132 //Inicio de la tabla de codigos de camaras #define EEI2C_SIZE EEPROM_SIZE*1000/8 //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 200 // holding period (ms) how long to wait for press+hold event