126 lines
5.4 KiB
C
126 lines
5.4 KiB
C
#include "edc.h"
|
|
#include "elite.h"
|
|
#include "elite_adc.h"
|
|
#include "elite_correction.h"
|
|
#include "elite_dac.h"
|
|
|
|
#include "dac_drv.h"
|
|
#include "led_drv.h"
|
|
|
|
#include "nrf_log.h"
|
|
|
|
#if (DEF_ELITE_MODEL == DEF_ELITE_EDC_15RE || \
|
|
DEF_ELITE_MODEL == DEF_ELITE_EDC_15R2 || \
|
|
DEF_ELITE_MODEL == DEF_ELITE_EDC_20)
|
|
|
|
static void dummy(uint8_t *ins, uint16_t size)
|
|
{
|
|
NRF_LOG_INFO("%s", __FUNCTION__);
|
|
}
|
|
static void dev_mode(uint8_t *ins, uint16_t size)
|
|
{
|
|
NRF_LOG_INFO("%s", __FUNCTION__);
|
|
// TODO...
|
|
}
|
|
|
|
static void cis_version(uint8_t *ins, uint16_t size) { NRF_LOG_INFO("%s", __FUNCTION__); }
|
|
static void cis_volt(uint8_t *ins, uint16_t size) { NRF_LOG_INFO("%s", __FUNCTION__); }
|
|
static void cis_cali(uint8_t *ins, uint16_t size) { NRF_LOG_INFO("%s", __FUNCTION__); }
|
|
|
|
static void vis_rst(uint8_t *ins, uint16_t size)
|
|
{
|
|
NRF_LOG_INFO("%s", __FUNCTION__);
|
|
|
|
edc.instru.eliteFxn = VIS_RST;
|
|
|
|
edc.instru.VinADCGainLv = VIN_GAIN_1K;
|
|
VinADCGainCtrl(edc.instru.VinADCGainLv);
|
|
|
|
edc.instru.IinADCGainLv = I_GAIN_100R;
|
|
IinADCGainCtrl(edc.instru.IinADCGainLv);
|
|
|
|
edc.instru.VoutGainLv = VOUT_GAIN_15K;
|
|
VoutGainControl(edc.instru.VoutGainLv);
|
|
|
|
uint16_t volt = Usercode_Correction_to_DAC(edc.instru.VoutGainLv, 25000);
|
|
dac_write_through(DAC0, volt);
|
|
|
|
ModeLED(NO_EVENT);
|
|
}
|
|
static void vis_sti(uint8_t *ins, uint16_t size) { NRF_LOG_INFO("%s", __FUNCTION__); }
|
|
static void vis_int(uint8_t *ins, uint16_t size) { NRF_LOG_INFO("%s", __FUNCTION__); }
|
|
static void vis_device_shiny(uint8_t *ins, uint16_t size) { NRF_LOG_INFO("%s", __FUNCTION__); }
|
|
static void vis_shiny_dis(uint8_t *ins, uint16_t size) { NRF_LOG_INFO("%s", __FUNCTION__); }
|
|
|
|
static void curve_iv(uint8_t *ins, uint16_t size) { NRF_LOG_INFO("%s", __FUNCTION__); }
|
|
static void curve_iv_cy(uint8_t *ins, uint16_t size) { NRF_LOG_INFO("%s", __FUNCTION__); }
|
|
static void curve_vo(uint8_t *ins, uint16_t size) { NRF_LOG_INFO("%s", __FUNCTION__); }
|
|
static void curve_rt(uint8_t *ins, uint16_t size) { NRF_LOG_INFO("%s", __FUNCTION__); }
|
|
static void curve_vt(uint8_t *ins, uint16_t size) { NRF_LOG_INFO("%s", __FUNCTION__); }
|
|
static void curve_it(uint8_t *ins, uint16_t size) { NRF_LOG_INFO("%s", __FUNCTION__); }
|
|
static void curve_cc(uint8_t *ins, uint16_t size) { NRF_LOG_INFO("%s", __FUNCTION__); }
|
|
static void curve_ocp(uint8_t *ins, uint16_t size) { NRF_LOG_INFO("%s", __FUNCTION__); }
|
|
static void curve_cv(uint8_t *ins, uint16_t size) { NRF_LOG_INFO("%s", __FUNCTION__); }
|
|
static void curve_lsv(uint8_t *ins, uint16_t size) { NRF_LOG_INFO("%s", __FUNCTION__); }
|
|
static void curve_ca(uint8_t *ins, uint16_t size) { NRF_LOG_INFO("%s", __FUNCTION__); }
|
|
static void curve_cp(uint8_t *ins, uint16_t size) { NRF_LOG_INFO("%s", __FUNCTION__); }
|
|
static void curve_uni_pulse(uint8_t *ins, uint16_t size) { NRF_LOG_INFO("%s", __FUNCTION__); }
|
|
static void curve_dpv(uint8_t *ins, uint16_t size) { NRF_LOG_INFO("%s", __FUNCTION__); }
|
|
static void curve_dpv_advance(uint8_t *ins, uint16_t size) { NRF_LOG_INFO("%s", __FUNCTION__); }
|
|
static void curve_dpv_smprate(uint8_t *ins, uint16_t size) { NRF_LOG_INFO("%s", __FUNCTION__); }
|
|
static void curve_dpv_advance_smprate(uint8_t *ins, uint16_t size) { NRF_LOG_INFO("%s", __FUNCTION__); }
|
|
static void curve_eis(uint8_t *ins, uint16_t size) { NRF_LOG_INFO("%s", __FUNCTION__); }
|
|
static void curve_cf(uint8_t *ins, uint16_t size) { NRF_LOG_INFO("%s", __FUNCTION__); }
|
|
static void curve_cali(uint8_t *ins, uint16_t size) { NRF_LOG_INFO("%s", __FUNCTION__); }
|
|
static void set_sample_rate(uint8_t *ins, uint16_t size) { NRF_LOG_INFO("%s", __FUNCTION__); }
|
|
|
|
elite_instance_t edc20_elite_instance = {
|
|
.cis_func = {
|
|
[CIS_VERSION] = cis_version,
|
|
[CIS_VOLT] = cis_volt,
|
|
[CIS_CALI] = cis_cali,
|
|
},
|
|
.vis_func = {
|
|
[VIS_RST] = vis_rst,
|
|
[VIS_STI] = vis_sti,
|
|
[VIS_INT] = vis_int,
|
|
[VIS_DEVICE_SHINY] = vis_device_shiny,
|
|
[VIS_SHINY_DIS] = vis_shiny_dis,
|
|
},
|
|
.ris_func = {
|
|
[CURVE_IV] = curve_iv,
|
|
[CURVE_IV_CY] = curve_iv_cy,
|
|
[CURVE_VO] = curve_vo,
|
|
[CURVE_RT] = curve_rt,
|
|
[CURVE_VT] = curve_vt,
|
|
[CURVE_IT] = curve_it,
|
|
[CURVE_CC] = curve_cc,
|
|
[CURVE_OCP] = curve_ocp,
|
|
[CURVE_CV] = curve_cv,
|
|
[CURVE_LSV] = curve_lsv,
|
|
[CURVE_CA] = curve_ca,
|
|
[CURVE_CP] = curve_cp,
|
|
[CURVE_UNI_PULSE] = curve_uni_pulse,
|
|
[CURVE_DPV] = curve_dpv,
|
|
[CURVE_DPV_ADVANCE] = curve_dpv_advance,
|
|
[CURVE_DPV_SMPRATE] = curve_dpv_smprate,
|
|
[CURVE_DPV_ADVANCE_SMPRATE] = curve_dpv_advance_smprate,
|
|
[CURVE_EIS] = curve_eis,
|
|
[CURVE_CF] = curve_cf,
|
|
[CURVE_CALI] = curve_cali,
|
|
[SET_SAMPLE_RATE] = set_sample_rate,
|
|
[DEV_MODE] = dev_mode,
|
|
}
|
|
};
|
|
|
|
static void init(void)
|
|
{
|
|
}
|
|
|
|
edc20_t edc = {
|
|
.init = init,
|
|
.p_elite_instance = &edc20_elite_instance,
|
|
};
|
|
|
|
#endif
|