#ifndef UE9ERROR_H
#define UE9ERROR_H

#include "util.h"

#define SCRATCH_WRT_FAIL		1
#define SCRATCH_ERASE_FAIL		2
#define DATA_BUFFER_OVERFLOW		3
#define ADC0_BUFFER_OVERFLOW		4
#define FUNCTION_INVALID		5
#define SWDT_TIME_INVALID		6
#define FLASH_WRITE_FAIL		16
#define FLASH_ERASE_FAIL		17
#define FLASH_JMP_FAIL			18
#define FLASH_PSP_TIMEOUT		19
#define FLASH_ABORT_RECEIVED		20
#define FLASH_PAGE_MISMATCH		21
#define FLASH_BLOCK_MISMATCH		22
#define FLASH_PAGE_NOT_IN_CODE_AREA	23
#define MEM_ILLEGAL_ADDRESS		24
#define FLASH_LOCKED			25
#define INVALID_BLOCK			26
#define FLASH_ILLEGAL_PAGE		27
#define STREAM_IS_ACTIVE		48
#define STREAM_TABLE_INVALID		49
#define STREAM_CONFIG_INVALID		50
#define STREAM_BAD_TRIGGER_SOURCE	51
#define STREAM_NOT_RUNNING		52
#define STREAM_INVALID_TRIGGER		53
#define STREAM_CONTROL_BUFFER_OVERFLOW	54
#define STREAM_SCAN_OVERLAP		55
#define STREAM_SAMPLE_NUM_INVALID	56
#define STREAM_BIPOLAR_GAIN_INVALID	57
#define STREAM_SCAN_RATE_INVALID	58
#define TIMER_INVALID_MODE		64
#define TIMER_QUADRATURE_AB_ERROR	65
#define TIMER_QUAD_PULSE_SEQUENCE	66
#define TIMER_BAD_CLOCK_SOURCE		67
#define TIMER_STREAM_ACTIVE		68
#define TIMER_PWMSTOP_MODULE_ERROR	69
#define EXT_OSC_NOT_STABLE		80
#define INVALID_POWER_SETTING		81
#define PLL_NOT_LOCKED			82

extern const char *ue9_error_text[];

const char *ue9_error (int errorcode);

#endif