\brief Chipcon application functions.
*/
+#ifndef CHIPCON_H
+#define CHIPCON_H
+
#include "command.h"
+#include "app.h"
+
+#define CHIPCON 0x30
//Chipcon command definitions.
#define CCCMD_CHIP_ERASE 0x14
+
+//1D or 19?
#define CCCMD_WR_CONFIG 0x1D
#define CCCMD_RD_CONFIG 0x24
#define CCCMD_READ_STATUS 0x34
#define CCCMD_STEP_INSTR 0x5C
#define CCCMD_DEBUG_INSTR 0x54
+//! Flash Word Size
+extern u8 flash_word_size;
+
//! Erase a chipcon chip.
void cc_chip_erase();
//! Write the configuration byte.
unsigned char cc_peekcodebyte(unsigned long adr);
//!Read a byte of data memory.
unsigned char cc_peekdatabyte(unsigned int adr);
+//! Fetch a byte of IRAM.
+u8 cc_peekirambyte(u8 adr);
+//! Write a byte of IRAM.
+u8 cc_pokeirambyte(u8 adr, u8 val);
//! Set a byte of data memory.
unsigned char cc_pokedatabyte(unsigned int adr,
unsigned char val);
void cc_resume();
//! Step an instruction
void cc_step_instr();
+//! Locks the chip.
+void cc_lockchip();
#define CC_STATUS_ERASED 0x80
#define CC_STATUS_PCONIDLE 0x40
#define CC_READ_FLASH_PAGE 0x96
#define CC_MASS_ERASE_FLASH 0x97
#define CC_PROGRAM_FLASH 0x98
+#define CC_WIPEFLASHBUFFER 0x99
+#define CC_LOCKCHIP 0x9A
+
+extern app_t const chipcon_app;
+
+#endif // CHIPCON_H