Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3201dada39 | |||
| c37b2157d6 | |||
| 595396f7a9 |
+62
@@ -0,0 +1,62 @@
|
||||
|
||||
#ifndef ELITE_MACRO_MODE
|
||||
#define ELITE_MACRO_MODE
|
||||
|
||||
static void define_mode_macro(){
|
||||
#ifndef CURRENT_MODE
|
||||
switch (INSTRUCTION.eliteFxn) {
|
||||
case IT_CURVE:{
|
||||
#define CURRENT_MODE WorkModeData->IT
|
||||
break;
|
||||
}
|
||||
case VT_CURVE:{
|
||||
#define CURRENT_MODE WorkModeData->VT
|
||||
break;
|
||||
}
|
||||
case ZT_CURVE:{
|
||||
#define CURRENT_MODE WorkModeData->RT
|
||||
break;
|
||||
}
|
||||
case IV_CURVE:{
|
||||
#define CURRENT_MODE WorkModeData->IV
|
||||
break;
|
||||
}
|
||||
case CV_CURVE:{
|
||||
#define CURRENT_MODE WorkModeData->CV
|
||||
break;
|
||||
}
|
||||
case CONSTANT_CURRENT:{
|
||||
#define CURRENT_MODE WorkModeData->CC
|
||||
break;
|
||||
}
|
||||
case CYCLIC_VOLTAMMETRY:{
|
||||
#define CURRENT_MODE WorkModeData->CV3
|
||||
break;
|
||||
}
|
||||
case LINEAR_SWEEP_VOLTAMMETRY:{
|
||||
#define CURRENT_MODE WorkModeData->LSV
|
||||
break;
|
||||
}
|
||||
case CONSTANT_VSCAN:{
|
||||
#define CURRENT_MODE WorkModeData->CVSCAN
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
#define CURRENT_MODE NULL
|
||||
break;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#error "CURRENT_MODE has already been defined"
|
||||
#endif
|
||||
}
|
||||
|
||||
static void undefine_mode_macro(){
|
||||
#ifndef CURRENT_MODE
|
||||
#error "CURRENT_MODE has NOT been defined"
|
||||
#else
|
||||
#undef CURRENT_MODE
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
+52
@@ -0,0 +1,52 @@
|
||||
|
||||
#ifndef ELITE_EVENT_H
|
||||
#define ELITE_EVENT_H
|
||||
|
||||
/** event */
|
||||
#define EVT_KEY_DETECT 0x0001
|
||||
#define EVT_LED_CHANGE 0x0002
|
||||
#define EVT_CREATE_MODE 0x0004
|
||||
#define EVT_FREE_MODE 0x0008
|
||||
#define EVT_MODE_ACTIVE 0x0010
|
||||
#define EVT_RESERVED0 0x0020
|
||||
#define EVT_RESERVED1 0x0040
|
||||
|
||||
static uint16_t elite_event = 0x0000;
|
||||
|
||||
/**
|
||||
* test event [flag] has been enabled.
|
||||
*/
|
||||
#define flag_mask(flag) ((elite_event & (flag)) != 0)
|
||||
|
||||
/**
|
||||
* enable event [flag].
|
||||
*/
|
||||
#define flag_enable(flag) \
|
||||
do { \
|
||||
uint8 __key = Hwi_disable(); \
|
||||
elite_event |= (uint16_t)(flag); \
|
||||
Hwi_restore(__key); \
|
||||
} while (0)
|
||||
|
||||
/**
|
||||
* disable event [flag].
|
||||
*/
|
||||
#define flag_disable(flag) \
|
||||
do { \
|
||||
uint8 __key = Hwi_disable(); \
|
||||
elite_event &= ~((uint16_t)(flag)); \
|
||||
Hwi_restore(__key); \
|
||||
} while (0)
|
||||
|
||||
/**
|
||||
* fire a event with [flag].
|
||||
*/
|
||||
#define flag_notify(flag) \
|
||||
do { \
|
||||
uint8 __key = Hwi_disable(); \
|
||||
elite_event |= (uint16_t)(flag); \
|
||||
Hwi_restore(__key); \
|
||||
Semaphore_post(semaphore); \
|
||||
} while (0)
|
||||
|
||||
#endif
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
|
||||
#ifndef ELITE_EVENT_HANDLE_H
|
||||
#define ELITE_EVENT_HANDLE_H
|
||||
|
||||
#include "Elite_event.h"
|
||||
#include "EliteKeyDetect.h"
|
||||
|
||||
static void elite_event_handle(WorkMode *WorkModeData){
|
||||
if (flag_mask(EVT_KEY_DETECT)) {
|
||||
flag_disable(EVT_KEY_DETECT);
|
||||
uint8_t key = PIN_getInputValue(switch_on);
|
||||
// elite_key_handle(key);
|
||||
}
|
||||
|
||||
if (flag_mask(EVT_LED_CHANGE)) {
|
||||
flag_disable(EVT_LED_CHANGE);
|
||||
// elite_led_handle();
|
||||
}
|
||||
|
||||
if(flag_mask(EVT_CREATE_MODE)){
|
||||
flag_disable(EVT_CREATE_MODE);
|
||||
InitWorkMode(WorkModeData);
|
||||
}
|
||||
|
||||
if(flag_mask(EVT_FREE_MODE)){
|
||||
flag_disable(EVT_FREE_MODE);
|
||||
FreeWorkMode(WorkModeData);
|
||||
InitEliteInstruction();
|
||||
IinADCGainControl(INSTRUCTION.ADCGainLevel);
|
||||
DAC_outputV(Usercode_Correction_to_DAC(INSTRUCTION.VoutGainLevel, INSTRUCTION.VoltConstant));
|
||||
}
|
||||
|
||||
if (flag_mask(EVT_MODE_ACTIVE)) {
|
||||
flag_disable(EVT_MODE_ACTIVE);
|
||||
SimpleBLEPeripheral_performPeriodicTask(WorkModeData);
|
||||
}
|
||||
|
||||
if (flag_mask(EVT_UPDATE_WORK_MODE)) {
|
||||
flag_disable(EVT_UPDATE_WORK_MODE);
|
||||
update_work_mode_handle(WorkModeData);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
+14
-1
@@ -105,41 +105,52 @@ static void DACenable(WorkMode *WorkModeData, int32_t VoltData ,uint8_t afterRea
|
||||
}
|
||||
|
||||
static void CC_Plot(WorkMode *WorkModeData){
|
||||
|
||||
void *active_mode;
|
||||
switch (INSTRUCTION.eliteFxn) {
|
||||
case IT_CURVE:{
|
||||
#define CURRENT_MODE WorkModeData->IT
|
||||
active_mode = WorkModeData->IT;
|
||||
break;
|
||||
}
|
||||
case VT_CURVE:{
|
||||
#define CURRENT_MODE WorkModeData->VT
|
||||
active_mode = WorkModeData->VT;
|
||||
break;
|
||||
}
|
||||
case ZT_CURVE:{
|
||||
#define CURRENT_MODE WorkModeData->RT
|
||||
active_mode = WorkModeData->RT;
|
||||
break;
|
||||
}
|
||||
case IV_CURVE:{
|
||||
#define CURRENT_MODE WorkModeData->IV
|
||||
active_mode = WorkModeData->IV;
|
||||
break;
|
||||
}
|
||||
case CV_CURVE:{
|
||||
#define CURRENT_MODE WorkModeData->CV
|
||||
active_mode = WorkModeData->CV;
|
||||
break;
|
||||
}
|
||||
case CONSTANT_CURRENT:{
|
||||
#define CURRENT_MODE WorkModeData->CC
|
||||
active_mode = WorkModeData->CC;
|
||||
break;
|
||||
}
|
||||
case CYCLIC_VOLTAMMETRY:{
|
||||
#define CURRENT_MODE WorkModeData->CV3
|
||||
active_mode = WorkModeData->CV3;
|
||||
break;
|
||||
}
|
||||
case LINEAR_SWEEP_VOLTAMMETRY:{
|
||||
#define CURRENT_MODE WorkModeData->LSV
|
||||
active_mode = WorkModeData->LSV;
|
||||
break;
|
||||
}
|
||||
case CONSTANT_VSCAN:{
|
||||
#define CURRENT_MODE WorkModeData->CVSCAN
|
||||
active_mode = NULL;
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
@@ -147,6 +158,8 @@ static void CC_Plot(WorkMode *WorkModeData){
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
static uint8_t ADCSwitch = 0;
|
||||
static uint8_t BatSwitch = 0;
|
||||
static int32_t VoltData = 0;
|
||||
@@ -163,7 +176,7 @@ static void CC_Plot(WorkMode *WorkModeData){
|
||||
recordCount = 0;
|
||||
}
|
||||
}else{
|
||||
InputNotify(NOTIFY_CURRENT, CURRENT_MODE->_measureCurrent);
|
||||
InputNotify(NOTIFY_CURRENT, ()active_mode->_measureCurrent);
|
||||
}
|
||||
DACenable(WorkModeData, VoltData, AFTER_READ_I);
|
||||
|
||||
|
||||
+6
-6
@@ -3,13 +3,13 @@
|
||||
#define VERSION_DATE
|
||||
|
||||
#define VERSION_DATE_YEAR 20
|
||||
#define VERSION_DATE_MONTH 8
|
||||
#define VERSION_DATE_DAY 28
|
||||
#define VERSION_DATE_HOUR 13
|
||||
#define VERSION_DATE_MINUTE 30
|
||||
#define VERSION_DATE_MONTH 9
|
||||
#define VERSION_DATE_DAY 1
|
||||
#define VERSION_DATE_HOUR 16
|
||||
#define VERSION_DATE_MINUTE 34
|
||||
|
||||
// this is NOT the version hash !!
|
||||
// it's the last version hash
|
||||
#define VERSION_HASH 8808490caa465cc94d14896de28763a5e5c4672b
|
||||
#define VERSION_GIT_BRANCH Elite_OBJ_0.2mv
|
||||
#define VERSION_HASH 595396f7a92da182e8bcfd3ab0b59693f7590e04
|
||||
#define VERSION_GIT_BRANCH Elite1.5_developement_EventHandle
|
||||
#endif
|
||||
|
||||
+2
-1
@@ -33,7 +33,8 @@ static void SimpleBLEPeripheral_clockHandler(UArg arg) {
|
||||
|
||||
}
|
||||
static void elite_gptimer_callback(GPTimerCC26XX_Handle handle, GPTimerCC26XX_IntMask interruptMask) {
|
||||
events |= SBP_PERIODIC_EVT;
|
||||
// events |= SBP_PERIODIC_EVT;
|
||||
// events |= EVT_KEY_DETECT;
|
||||
Semaphore_post(semaphore);
|
||||
GPT.GptimerCounter++;
|
||||
}
|
||||
|
||||
+7
-3
@@ -174,10 +174,10 @@
|
||||
#ifndef RTOSPARA
|
||||
#define RTOSPARA
|
||||
#define SBP_STATE_CHANGE_EVT 0x0001
|
||||
#define SBP_CHAR_CHANGE_EVT 0x0002
|
||||
#define SBP_PERIODIC_EVT 0x0004
|
||||
#define SBP_CHAR_CHANGE_EVT 0x0002
|
||||
#define SBP_PERIODIC_EVT 0x0004
|
||||
#define SBP_CONN_EVT_END_EVT 0x0008
|
||||
#define SBP_KEY_CHANGE_EVT 0x0010
|
||||
#define SBP_KEY_CHANGE_EVT 0x0010
|
||||
#endif
|
||||
|
||||
// data length extension parameter
|
||||
@@ -652,6 +652,10 @@ static void SimpleBLEPeripheral_taskFxn(UArg a0, UArg a1) {
|
||||
}
|
||||
}
|
||||
|
||||
// if(elite_event > 0){
|
||||
// elite_event_handle(WorkModeData);
|
||||
// }
|
||||
|
||||
#ifdef FEATURE_OAD
|
||||
while (!Queue_empty(hOadQ)) {
|
||||
oadTargetWrite_t *oadWriteEvt = Queue_get(hOadQ);
|
||||
|
||||
Reference in New Issue
Block a user