/******************************************************************************* * @file app_raw_main.h ******************************************************************************/ #ifndef _CAT_INTERFACE_H_ #define _CAT_INTERFACE_H_ #include "sdk_config.h" #include #include #include #include #include #include "nordic_common.h" #include "nrf.h" #include "sdk_errors.h" #define EEPROM_I2C_ADDRESS 0x50 #define EEPROM_PAGE_SIZE 64 #define SERIAL_ADDRESS 0x0030 ret_code_t encrypt_data(const uint8_t *input, size_t length, uint8_t *output, size_t *output_len); ret_code_t decrypt_data(const uint8_t *input, size_t length, uint8_t *output); ret_code_t eeprom_write_encrypted(uint16_t mem_address, const uint8_t *plaintext, size_t length); ret_code_t eeprom_read_decrypted(uint16_t mem_address, uint8_t *plaintext, size_t original_length); ret_code_t eeprom_read_page(uint16_t mem_address, uint8_t *data); ret_code_t eeprom_write_page(uint16_t mem_address, const uint8_t *data); ret_code_t eeprom_write_byte(uint16_t mem_address, uint8_t data); ret_code_t eeprom_read_byte(uint16_t mem_address, uint8_t *data); ret_code_t eeprom_write_bytes(uint16_t mem_address, const uint8_t *data, size_t length); ret_code_t eeprom_read_bytes(uint16_t mem_address, uint8_t *data, size_t length); ret_code_t eeprom_write_uint16_array(uint16_t start_address, const uint16_t *data, size_t count); ret_code_t eeprom_read_uint16_array(uint16_t start_address, uint16_t *data, size_t count); ret_code_t eeprom_write_word(uint16_t mem_address, uint16_t data); ret_code_t eeprom_read_word(uint16_t mem_address, uint16_t *data); void eeprom_uninitialize(void); void eeprom_initialize(void); ret_code_t eeprom_initialize_safe(void); ret_code_t eeprom_write_uint32(uint16_t mem_address, uint32_t data); ret_code_t eeprom_read_uint32(uint16_t mem_address, uint32_t *data); #endif /* */