diff --git a/Control/cardreader_interface.c b/Control/cardreader_interface.c index b3828db02221c6ce5e6306db2229ed99e9620e18..242b0c59c4e9d3a7a3214e3f2d8edb172d86120c 100644 --- a/Control/cardreader_interface.c +++ b/Control/cardreader_interface.c @@ -48,7 +48,7 @@ void MGMT_transmit_buffer_hex(unsigned char* data, unsigned char length); void cardreader_display_clear(void); void cardreader_display_move(uint8_t x, uint8_t y); void cardreader_display_write_sz(char* string); -void cardreader_display_write_sz_P(char* string); +void cardreader_display_write_sz_P(const char* string); void cardreader_display_show_result(uint8_t success); void cardreader_display_set_backlight(uint8_t on); uint8_t cardreader_sys_get_card_status(void); @@ -355,7 +355,7 @@ uint8_t cardreader_init_card_key(KEY key){ transport_send_message((uint8_t*)&msg, 1+sizeof(ISO7816_APDU_Header)+ sizeof(KEY)); uint8_t card_status[4]; - uint16_t length = transport_receive_message(&card_status, 4, 10000); + uint16_t length = transport_receive_message((uint8_t*)&card_status, 4, 10000); if (TRANSPORT_IS_ERROR(length)){ printf_P(PSTR("Transport Error %04x\n"), length); return 0; @@ -370,7 +370,7 @@ uint8_t cardreader_clear_card_key(void){ transport_send_message((uint8_t*)&msg, 1+sizeof(ISO7816_APDU_Header)); uint8_t card_status[4]; - uint16_t length = transport_receive_message(&card_status, 4, 10000); + uint16_t length = transport_receive_message((uint8_t*)&card_status, 4, 10000); if (TRANSPORT_IS_ERROR(length)){ printf_P(PSTR("Transport Error %04x\n"), length); return 0; @@ -427,7 +427,7 @@ void cardreader_display_write_sz(char* string){ transport_receive_message(&success, 1, 3000); } -void cardreader_display_write_sz_P(char* string){ +void cardreader_display_write_sz_P(const char* string){ cardreader_display_message_t msg = {CARDREADER_MSG_TYPE_DISPALY}; msg.command = CARDREADER_DISPLAY_MSG_WRITE; uint16_t len = strlen_P(string); diff --git a/Control/door.c b/Control/door.c index e44f07f8571151ed04eeb744e00953ae15bd4102..a309e06e9af8cbaaf0b104e22a470f3e62cbad3b 100644 --- a/Control/door.c +++ b/Control/door.c @@ -5,20 +5,20 @@ uint8_t door_read_pin_status(void); uint8_t door_update_status(uint8_t sensor_status); uint8_t is_alarm_status(uint8_t door_status); -char status_unlocked[] PROGMEM = "Unlocked"; -char status_locked[] PROGMEM = "Locked"; -char status_open[] PROGMEM = "Open"; -char status_alarm_cut[] PROGMEM = "Alarm wire open"; -char status_alarm[] PROGMEM = "Alarm"; -char status_unlocking[] PROGMEM = "Unlocking..."; -char status_locking[] PROGMEM = "Locking..."; -char* status_names[] PROGMEM = {status_unlocked, - status_locked, - status_open, - status_alarm_cut, - status_alarm, - status_unlocking, - status_locking}; +const char status_unlocked[] PROGMEM = "Unlocked"; +const char status_locked[] PROGMEM = "Locked"; +const char status_open[] PROGMEM = "Open"; +const char status_alarm_cut[] PROGMEM = "Alarm wire open"; +const char status_alarm[] PROGMEM = "Alarm"; +const char status_unlocking[] PROGMEM = "Unlocking..."; +const char status_locking[] PROGMEM = "Locking..."; +const char* const status_names[] PROGMEM = {status_unlocked, + status_locked, + status_open, + status_alarm_cut, + status_alarm, + status_unlocking, + status_locking}; volatile uint8_t door_status; @@ -149,7 +149,7 @@ void lock(void){ DOOR_PORT = (DOOR_PORT & (uint8_t)~COMMAND_UNLOCK_PIN) | COMMAND_LOCK_PIN; } -uint8_t toggle_lock_unlock( void (*msg_target)(char*) ){ +uint8_t toggle_lock_unlock( void (*msg_target)(const char*) ){ if ((door_status & DOOR_STATUS_UNLOCKED) == 0){ return unlock_checked(msg_target); } else { @@ -157,7 +157,7 @@ uint8_t toggle_lock_unlock( void (*msg_target)(char*) ){ } } -uint8_t unlock_checked( void (*msg_target)(char*) ){ +uint8_t unlock_checked( void (*msg_target)(const char*) ){ if (door_status & DOOR_STATUS_UNLOCKED){ msg_target(PSTR("Already unlocked\n")); } else if (door_status & DOOR_STATUS_LOCKING){ @@ -171,7 +171,7 @@ uint8_t unlock_checked( void (*msg_target)(char*) ){ } -uint8_t lock_checked( void (*msg_target)(char*) ){ +uint8_t lock_checked( void (*msg_target)(const char*) ){ if (is_alarm_status(door_status)){ msg_target(PSTR("Can't lock in alarm state\n")); } else if (door_status & DOOR_STATUS_UNLOCKING) { diff --git a/Control/door.h b/Control/door.h index 21da68dd12bbfc3deb853518c8e820cecabd1177..df6aa8f862559bf6e0756578f807c4ca5a0693ae 100644 --- a/Control/door.h +++ b/Control/door.h @@ -43,7 +43,7 @@ uint8_t door_clear_alarm(void); void unlock(void); void lock(void); -uint8_t toggle_lock_unlock( void (*msg_target)(char*) ); -uint8_t unlock_checked( void (*msg_target)(char*) ); -uint8_t lock_checked( void (*msg_target)(char*) ); +uint8_t toggle_lock_unlock( void (*msg_target)(const char*) ); +uint8_t unlock_checked( void (*msg_target)(const char*) ); +uint8_t lock_checked( void (*msg_target)(const char*) ); void door_write_status(void); \ No newline at end of file diff --git a/Control/log.c b/Control/log.c index e44668e13d0edfd13123d8fed590559689980a60..c2ce307ca0595b2253600904f1e760a05025c132 100644 --- a/Control/log.c +++ b/Control/log.c @@ -5,18 +5,18 @@ #include "door.h" #include "power_monitor.h" -char log_event_startup[] PROGMEM = "== System Started =="; -char log_event_alarm_raised[] PROGMEM = "Alarm Raised"; -char log_event_alarm_changed[] PROGMEM = "State change during Alarm"; -char log_event_alarm_login[] PROGMEM = "Login during Alarm"; -char log_event_alarm_disabled[] PROGMEM = "Alarm disabled"; -char log_event_ac_fail[] PROGMEM = "AC Power Fail"; -char log_event_ac_return[] PROGMEM = "AC Power Restored"; -char log_event_main_battery_low[] PROGMEM = "Main Battery Low"; -char log_event_keymatic_battery_low[] PROGMEM = "Keymatic Battery Low"; -char log_event_door_command_timeout[] PROGMEM = "Door command Timeout"; +const char log_event_startup[] PROGMEM = "== System Started =="; +const char log_event_alarm_raised[] PROGMEM = "Alarm Raised"; +const char log_event_alarm_changed[] PROGMEM = "State change during Alarm"; +const char log_event_alarm_login[] PROGMEM = "Login during Alarm"; +const char log_event_alarm_disabled[] PROGMEM = "Alarm disabled"; +const char log_event_ac_fail[] PROGMEM = "AC Power Fail"; +const char log_event_ac_return[] PROGMEM = "AC Power Restored"; +const char log_event_main_battery_low[] PROGMEM = "Main Battery Low"; +const char log_event_keymatic_battery_low[] PROGMEM = "Keymatic Battery Low"; +const char log_event_door_command_timeout[] PROGMEM = "Door command Timeout"; -char* event_names[] PROGMEM = {log_event_startup, +const char* const event_names[] PROGMEM = {log_event_startup, log_event_alarm_raised, log_event_alarm_changed, log_event_alarm_login, diff --git a/Control/shell/shell.c b/Control/shell/shell.c index 06231fff7df8c06a7d5780610b52c1e409735d0f..21fd009e08e47951f7836b6f2211f907771e6d69 100644 --- a/Control/shell/shell.c +++ b/Control/shell/shell.c @@ -165,6 +165,8 @@ logout - Exit shell\n\ quit - Exit shell\n")); } +extern void MGMT_transmit_buffer_hex(unsigned char* data, unsigned char length); + void cmd_keyslot_init(readline_parsed_cmd_t* cmd){ uint8_t force = 0; uint8_t usage_error = 0; @@ -291,7 +293,7 @@ void cmd_keyslot_list(readline_parsed_cmd_t* cmd){ keystore_list(); } -void print_P(char* pstr){ +void print_P(const char* pstr){ printf_P(pstr); }