pwm period is now 200us instead of the default 20ms veml6040 config is now AF_BIT | TRIG_BIT
Dependencies: mbed MMA8451Q USBDevice WakeUp vt100
Fork of afero_node_suntory_2017_06_15 by
Diff: preferences/Preferences.hpp
- Revision:
- 5:9d5c7ee80f3b
- Parent:
- 4:b38e09f24711
- Child:
- 6:88cc04eb613a
--- a/preferences/Preferences.hpp Wed Jan 25 08:20:47 2017 +0000 +++ b/preferences/Preferences.hpp Tue Feb 28 02:09:06 2017 +0000 @@ -33,6 +33,7 @@ SIZE, }; static bool ACTIVE[SIZE]; + static bool DELTA[SIZE]; }; struct SENSORS : public SENSORS_BASE<SENSORS> @@ -42,11 +43,14 @@ struct VEML6040; struct MMA8451Q; template<typename A> struct SEMITEC_502AT_11_CALIB; + template<typename A> struct DEV_TEMP; + struct DEV_TEMP_INST; struct SEMITEC_502AT_11; struct SR_3702_150N_14Z; template<typename A> struct KEYENCE_PRESSURE_COMMON_PARAMS; struct AP_53A_KEYENCE; //AP-53A KEYENCE gas struct GP_M010_KEYENCE; //"GP-M010 KEYENCE" liquid + struct NXP_LM75B; }; template<typename A> struct SENSORS::COMMONPARAMS @@ -72,9 +76,6 @@ template<typename A> float SENSORS::KEYENCE_PRESSURE_COMMON_PARAMS<A>::LOWEST_CUR = 0.004; template<typename A> float SENSORS::KEYENCE_PRESSURE_COMMON_PARAMS<A>::PRESSURE_COEF = 62500; -//template<> bool SENSORS_BASE<SENSORS>::ACTIVE[SENSORS::SIZE] = { false, true, false, true, true }; -template<> bool SENSORS_BASE<SENSORS>::ACTIVE[SENSORS::SIZE] = { false, false, true, false, false }; - struct SENSORS::MAX44008 : public SENSORS::COMMONPARAMS<SENSORS::MAX44008> { enum @@ -110,7 +111,10 @@ ADDRESS = 0x10, AMB_CONFIG = 0x00, // most sensitive gain RAW_MODE = 0x20, // MODE_CLEAR_RGB_IR - PWM_LED_B = 0xFA + PWM_LED_B = 0xFA, + PWM_LED_R_UI16 = 0x7C02, + PWM_LED_G_UI16 = 0x8F1D, + PWM_LED_B_UI16 = 0x91BB, }; struct TRIM { @@ -123,11 +127,8 @@ }; }; -template<> char* SENSORS::COMMONPARAMS<SENSORS::VEML6040>::TYPE = "COLOR"; -template<> char* SENSORS::COMMONPARAMS<SENSORS::VEML6040>::PN = "VEML6040"; -template<> char* SENSORS::COMMONPARAMS<SENSORS::VEML6040>::UNIT = "mW/cm2"; template<> char* SENSORS::COMMONPARAMS<SENSORS::VEML6040>::JSON_FMT( - "{\"DEVICE\":\"%s\",\"PN\":\"%s\",\"DATA\":[{\"TIME\":\"%ld\",\"VAL\":\"%d\",\"UNIT\":\"%s\"}]}" + "{\"DEVICE\":\"COLOR\",\"PN\":\"VEML6040\",\"VAL_R\":\"%d\",\"VAL_G\":\"%d\",\"VAL_B\":\"%d\",\"UNIT\":\"mW/cm2\"}" ); @@ -143,11 +144,10 @@ #endif }; }; -template<> char* SENSORS::COMMONPARAMS<SENSORS::MMA8451Q>::TYPE = "ACCELEROMETER"; -template<> char* SENSORS::COMMONPARAMS<SENSORS::MMA8451Q>::PN = "MMA8451Q"; -template<> char* SENSORS::COMMONPARAMS<SENSORS::MMA8451Q>::UNIT = "g"; -template<> char* SENSORS::COMMONPARAMS<SENSORS::MMA8451Q>::JSON_FMT = - "{\"DEVICE\":\"%s\",\"PN\":\"%s\",\"DATA\":[{\"TIME\":\"%ld\",\"VAL\":[\"%.1f\",\"%.1f\",\"%.1f\"],\"UNIT\":\"%s\"}]}"; + +template<> char* SENSORS::COMMONPARAMS<SENSORS::MMA8451Q>::JSON_FMT( + "{\"DEVICE\":\"ACCEL\",\"PN\":\"MMA8451Q\",\"VAL_X\":\"%.3f\",\"VAL_Y\":\"%.3f\",\"VAL_Z\":\"%.3f\",\"UNIT\":\"g\"}" +); template<typename A> struct SENSORS::SEMITEC_502AT_11_CALIB { @@ -156,23 +156,84 @@ static float R0; static float R1; }; - -struct SENSORS::SEMITEC_502AT_11 : - public SENSORS::COMMONPARAMS<SENSORS::SEMITEC_502AT_11>, - public SENSORS::SEMITEC_502AT_11_CALIB<SENSORS::SEMITEC_502AT_11>{}; template<> float SENSORS::SEMITEC_502AT_11_CALIB<SENSORS::SEMITEC_502AT_11>::B = 3324; template<> float SENSORS::SEMITEC_502AT_11_CALIB<SENSORS::SEMITEC_502AT_11>::T0 = 298.15; template<> float SENSORS::SEMITEC_502AT_11_CALIB<SENSORS::SEMITEC_502AT_11>::R0 = 5.0; //kOhm template<> float SENSORS::SEMITEC_502AT_11_CALIB<SENSORS::SEMITEC_502AT_11>::R1 = 4.95; //kOhm -template<> char* SENSORS::COMMONPARAMS<SENSORS::SEMITEC_502AT_11>::TYPE = "TEMP"; -template<> char* SENSORS::COMMONPARAMS<SENSORS::SEMITEC_502AT_11>::PN = "SEMITEC 502AT-11"; -template<> char* SENSORS::COMMONPARAMS<SENSORS::SEMITEC_502AT_11>::UNIT = "degC"; -template<> char* SENSORS::COMMONPARAMS<SENSORS::SEMITEC_502AT_11>::JSON_FMT( - "{\"DEVICE\":\"%s\",\"PN\":\"%s\",\"DATA\":[{\"TIME\":\"%ld\",\"VAL\":\"%0.1f\",\"UNIT\":\"%s\"}]}" +template<typename A> struct SENSORS::DEV_TEMP +{ + enum + { + TUBE = 0, + BEFORE_COOLING, + AFTER_COOLING, + SIZE + }; + static char* JSON_FMT; + static char* SUFFIXES[SIZE]; + static char* PART_NUMBERS[SIZE]; + static char* POSITION[SIZE]; + static char* STATUS[SIZE]; +}; + +struct SENSORS::DEV_TEMP_INST : + public SENSORS::DEV_TEMP<SENSORS::DEV_TEMP_INST> +{ +}; + +template<> char* SENSORS::DEV_TEMP<SENSORS::DEV_TEMP_INST>::SUFFIXES[SIZE] = { + "01", "02", "03" +}; + +template<> char* SENSORS::DEV_TEMP<SENSORS::DEV_TEMP_INST>::POSITION[SIZE] = { + "NOT COOLED", "NOT COOLED", "BEING COOLED" +}; + +template<> char* SENSORS::DEV_TEMP<SENSORS::DEV_TEMP_INST>::STATUS[SIZE] = { + "TUBE", "IN", "IN" +}; + +template<> char* SENSORS::DEV_TEMP<SENSORS::DEV_TEMP_INST>::PART_NUMBERS[SIZE] = { + "LM75B", "SEMITEC 502AT-11", "SEMITEC 502AT-11" +}; + +template<> char* SENSORS::DEV_TEMP<SENSORS::DEV_TEMP_INST>::JSON_FMT( +// "{\"DEVICE\":\"TEMP%s\",\"PN\":\"%s\",\"VAL\":\"%0.1f\",\"UNIT\":\"degC\"}" + "{\"DEVICE\":\"TEMP%s\",\"PN\":\"%s\",\"POS\":\"%s\",\"STAT\":\"%s\",\"VAL\":\"%0.1f\",\"UNIT\":\"degC\"}" ); +struct SENSORS::SEMITEC_502AT_11 : + public SENSORS::COMMONPARAMS<SENSORS::SEMITEC_502AT_11>, + public SENSORS::SEMITEC_502AT_11_CALIB<SENSORS::SEMITEC_502AT_11> +{ +}; + +//template<> char* SENSORS::COMMONPARAMS<SENSORS::SEMITEC_502AT_11>::TYPE = "TEMP"; +template<> char* SENSORS::COMMONPARAMS<SENSORS::SEMITEC_502AT_11>::PN = "SEMITEC 502AT-11"; +//template<> char* SENSORS::COMMONPARAMS<SENSORS::SEMITEC_502AT_11>::UNIT = "degC"; + +//template<> char* SENSORS::COMMONPARAMS<SENSORS::SEMITEC_502AT_11>::JSON_FMT( +// "{\"DEVICE\":\"%s\",\"PN\":\"%s\",\"DATA\":[{\"TIME\":\"%ld\",\"VAL\":\"%0.1f\",\"UNIT\":\"%s\",\"POS\":\"%s\"}]}" +//); + +struct SENSORS::NXP_LM75B : + public SENSORS::COMMONPARAMS<SENSORS::NXP_LM75B> +{ + enum + { + ADDRESS = 0x48, + REG_Conf = 0x01, + REG_Temp = 0x00, + REG_Tos = 0x03, + REG_Thyst = 0x02 + }; +}; + +template<> char* SENSORS::COMMONPARAMS<SENSORS::NXP_LM75B>::PN = "LM75B"; + struct SENSORS::SR_3702_150N_14Z : public SENSORS::COMMONPARAMS<SENSORS::SR_3702_150N_14Z>{}; + template<> char* SENSORS::COMMONPARAMS<SENSORS::SR_3702_150N_14Z>::TYPE = "CURRENT_TRANS";; template<> char* SENSORS::COMMONPARAMS<SENSORS::SR_3702_150N_14Z>::PN = "SR-3702-150N/14Z"; template<> char* SENSORS::COMMONPARAMS<SENSORS::SR_3702_150N_14Z>::UNIT = "V"; @@ -186,7 +247,8 @@ template<> char *SENSORS::COMMONPARAMS<SENSORS::AP_53A_KEYENCE>::PN = "AP-53A KEYENCE"; template<> char *SENSORS::COMMONPARAMS<SENSORS::AP_53A_KEYENCE>::UNIT = "KPa"; template<> char* SENSORS::COMMONPARAMS<SENSORS::AP_53A_KEYENCE>::JSON_FMT( - "{\"DEVICE\":\"%s\",\"PN\":\"%s\",\"DATA\":[{\"TIME\":\"%ld\",\"VAL\":\"%0.1f\",\"UNIT\":\"%s\"}]}" + //"{\"DEVICE\":\"%s\",\"PN\":\"%s\",\"DATA\":[{\"TIME\":\"%ld\",\"VAL\":\"%0.1f\",\"UNIT\":\"%s\"}]}" + "{\"DEVICE\":\"%s\",\"PN\":\"%s\",\"VAL\":\"%0.1f\"}" ); struct SENSORS::GP_M010_KEYENCE : @@ -196,7 +258,8 @@ template<> char *SENSORS::COMMONPARAMS<SENSORS::GP_M010_KEYENCE>::PN = "AGP-M010 KEYENCE"; template<> char *SENSORS::COMMONPARAMS<SENSORS::GP_M010_KEYENCE>::UNIT = "KPa"; template<> char* SENSORS::COMMONPARAMS<SENSORS::GP_M010_KEYENCE>::JSON_FMT( - "{\"DEVICE\":\"%s\",\"PN\":\"%s\",\"DATA\":[{\"TIME\":\"%ld\",\"VAL\":\"%0.1f\",\"UNIT\":\"%s\"}]}" + //"{\"DEVICE\":\"%s\",\"PN\":\"%s\",\"DATA\":[{\"TIME\":\"%ld\",\"VAL\":\"%0.1f\",\"UNIT\":\"%s\"}]}" + "{\"DEVICE\":\"%s\",\"PN\":\"%s\",\"VAL\":\"%0.1f\"}" ); struct PINS @@ -257,7 +320,10 @@ { enum { - AIN = PTB1 + BEFORE_COOLING = PTC2, + AFTER_COOLING = PTB1, + SDA = PTE0, + SCL = PTE1 }; }; @@ -283,7 +349,7 @@ enum { #if defined (TARGET_KL25Z) - RESET = PTC9 //PSOC //PTA20 + RESET = PTC9 //PSOC //PTA20 #elif defined (TARGET_TEENSY3_1) RESET = PTD6 #endif @@ -385,8 +451,8 @@ } _crc32; static _crc32 CRC32; static bool FLOW_CONTROL; - static bool DBG_ENABLED; - static bool DBG_ASR_ENABLED; + static bool DBG_PRINT_ENABLED; + static bool DBG_PRINT_ASR_ENABLED; struct AFERO_ATTRIBUTE { uint32_t ATTR_CRC32; @@ -430,8 +496,8 @@ template<> bool PREFERENCES_BASE<PREFERENCES>::FLOW_CONTROL = false; -template<> bool PREFERENCES_BASE<PREFERENCES>::DBG_ENABLED = true; -template<> bool PREFERENCES_BASE<PREFERENCES>::DBG_ASR_ENABLED = true; +template<> bool PREFERENCES_BASE<PREFERENCES>::DBG_PRINT_ENABLED = true; +template<> bool PREFERENCES_BASE<PREFERENCES>::DBG_PRINT_ASR_ENABLED = true; struct PREFERENCES::NOTIFICATION : public PREFERENCES::NOTIFICATION_BASE<PREFERENCES::NOTIFICATION> { @@ -469,6 +535,17 @@ } pressure; } PACKET; +//template<> bool SENSORS_BASE<SENSORS>::ACTIVE[SENSORS::SIZE] = { false, false, false, false, true }; // temperature +//template<> bool SENSORS_BASE<SENSORS>::ACTIVE[SENSORS::SIZE] = { false, true, false, false, false }; // color +template<> bool SENSORS_BASE<SENSORS>::ACTIVE[SENSORS::SIZE] = { true, true, false, false, true }; // color + temp + accelerometer +//template<> bool SENSORS_BASE<SENSORS>::ACTIVE[SENSORS::SIZE] = { false, true, false, true, true }; // sensor box +//template<> bool SENSORS_BASE<SENSORS>::ACTIVE[SENSORS::SIZE] = { false, false, true, false, false }; // pressure +//template<> bool SENSORS_BASE<SENSORS>::ACTIVE[SENSORS::SIZE] = { true, false, false, false, false }; // accelerometer +//template<> bool SENSORS_BASE<SENSORS>::ACTIVE[SENSORS::SIZE] = { false, true, false, false, false }; // color only ... sensor box +//template<> bool SENSORS_BASE<SENSORS>::ACTIVE[SENSORS::SIZE] = { false, false, false, true, false }; // CT only ... sensor box + +template<> bool SENSORS_BASE<SENSORS>::DELTA[SENSORS::SIZE] = { true, false, false, false, false }; // accelerometer + }; #endif //_PREFERENCES_HPP_ \ No newline at end of file