Compare commits

..

5 Commits

Author SHA1 Message Date
Roy_01 49b11af639 Current = 200mA 2024-01-08 17:41:20 +08:00
Roy_01 7f703de601 Current = 400mA 2023-12-19 15:24:16 +08:00
Roy_01 d0988e4027 [update] when acc channel = false, Current = 800mA, true is user setting 2023-10-12 18:37:36 +08:00
Roy_01 3f416f17b3 [update] when acc channel = false, Current = 800mA 2023-10-12 17:20:12 +08:00
Roy_01 d706fe9c3e [update] Customized Standby Current = 800mA 2023-10-02 16:05:03 +08:00
2 changed files with 51 additions and 14 deletions
@@ -1,9 +1,9 @@
#ifndef VERSION_DATE
#define VERSION_DATE
#define VERSION_DATE_YEAR 23
#define VERSION_DATE_MONTH 6
#define VERSION_DATE_DAY 14
#define VERSION_DATE_HOUR 13
#define VERSION_DATE_MINUTE 16
#define VERSION_DATE_YEAR 24
#define VERSION_DATE_MONTH 1
#define VERSION_DATE_DAY 8
#define VERSION_DATE_HOUR 17
#define VERSION_DATE_MINUTE 41
#endif
@@ -322,10 +322,10 @@ static void set_output_enable(bool *out_chan)
{
update_latch_status(E_PIN_D0_PR_0, out_chan[0]);
update_latch_status(E_PIN_DO_MOS_0, out_chan[1]);
update_latch_status(E_PIN_AO_MOS_0, out_chan[2]);
update_latch_status(E_PIN_AO_MOS_2, out_chan[3]);
update_latch_status(E_PIN_AO_MOS_3, out_chan[4]);
update_latch_status(E_PIN_AO_MOS_1, out_chan[5]);
update_latch_status(E_PIN_AO_MOS_0, 1);
update_latch_status(E_PIN_AO_MOS_2, 1);
update_latch_status(E_PIN_AO_MOS_3, 1);
update_latch_status(E_PIN_AO_MOS_1, 1);
update_latch_status(E_PIN_DO_MOS_1, out_chan[6]);
update_latch_status(E_PIN_D0_PR_1, out_chan[7]);
update_latch_status(E_PIN_5V_OUT_EN_0, out_chan[8]);
@@ -337,11 +337,37 @@ static void set_output_enable(bool *out_chan)
static void curr_out()
{
uint16_t AOutCode0, AOutCode1, AOutCode2, AOutCode3;
uint16_t CurCon[4];
AOutCode0 = Usercode_Correction_to_Aout(Aout_CH_0, instru.Trig_CurCon[0]);
AOutCode1 = Usercode_Correction_to_Aout(Aout_CH_1, instru.Trig_CurCon[1]);
AOutCode2 = Usercode_Correction_to_Aout(Aout_CH_2, instru.Trig_CurCon[2]);
AOutCode3 = Usercode_Correction_to_Aout(Aout_CH_3, instru.Trig_CurCon[3]);
if (chan_en[PIN_A0] == false) {
CurCon[0] = 12500; //50000=200mA,25000=100mA
} else {
CurCon[0] = instru.Trig_CurCon[0];
}
if (chan_en[PIN_A1] == false) {
CurCon[1] = 12500; //50000=200mA,25000=100mA
} else {
CurCon[1] = instru.Trig_CurCon[1];
}
if (chan_en[PIN_A2] == false) {
CurCon[2] = 12500; //50000=200mA,25000=100mA
} else {
CurCon[2] = instru.Trig_CurCon[2];
}
if (chan_en[PIN_A3] == false) {
CurCon[3] = 12500; //50000=200mA,25000=100mA
} else {
CurCon[3] = instru.Trig_CurCon[3];
}
AOutCode0 = Usercode_Correction_to_Aout(Aout_CH_0, CurCon[0]);
AOutCode1 = Usercode_Correction_to_Aout(Aout_CH_1, CurCon[1]);
AOutCode2 = Usercode_Correction_to_Aout(Aout_CH_2, CurCon[2]);
AOutCode3 = Usercode_Correction_to_Aout(Aout_CH_3, CurCon[3]);
set_Aoutput(Aout_CH_0, AOutCode0);
set_Aoutput(Aout_CH_1, AOutCode1);
@@ -352,6 +378,8 @@ static void curr_out()
#include "EliteDeviceCorrection.h"
uint16_t Usercode_Correction_to_Aout(uint8_t aout_chan, uint16_t usercode)
{
// usercode/250 = XmA
// ex:50000[usercode]/250 = 200mA
uint8_t chan = aout_chan;
uint16_t uc = usercode;
long long aout_code = 0;
@@ -1616,7 +1644,16 @@ static void elite_reset()
InitTrigChan();
disable_trig_output();
TW1508reset();
//TW1508reset();
// user customize 200mA
instru.Trig_CurCon[0] = 25000; //50000=200mA,25000=100mA
instru.Trig_CurCon[1] = 25000; //50000=200mA,25000=100mA
instru.Trig_CurCon[2] = 25000; //50000=200mA,25000=100mA
instru.Trig_CurCon[3] = 25000; //50000=200mA,25000=100mA
curr_out();
set_output_enable(chan_en);
wm_deinit();
update_led(LED_NO_EVENT);