Lab_interaccio/2012/Edgard/Vdossier02/Constants.h

84 lines
4.4 KiB
C
Raw Permalink Normal View History

2025-02-25 21:29:42 +01:00
// 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