Library to communicate with LDC1614
Dependents: Inductive_Sensor_3
Fork of LDC1101 by
LDC1101.h@26:1ef9172cd355, 2016-03-30 (annotated)
- Committer:
- bobgiesberts
- Date:
- Wed Mar 30 12:00:10 2016 +0000
- Revision:
- 26:1ef9172cd355
- Parent:
- 25:ae111662ee03
- Child:
- 27:05dd145c7997
In this improved version:; - Solved the timing issue (error with converting floats to int in sleep); - Shutdown when Vbatt < 3,10 V; - Arrays instead of vectors;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bobgiesberts | 16:07d0e43c2d12 | 1 | #ifndef _LDC1101_H_ |
bobgiesberts | 16:07d0e43c2d12 | 2 | #define _LDC1101_H_ |
bobgiesberts | 16:07d0e43c2d12 | 3 | |
bobgiesberts | 16:07d0e43c2d12 | 4 | /** |
bobgiesberts | 16:07d0e43c2d12 | 5 | * @file LDC1101.h |
bobgiesberts | 16:07d0e43c2d12 | 6 | * @brief this header file will contain all required |
bobgiesberts | 16:07d0e43c2d12 | 7 | * definitions for the functions to interface with Texas |
bobgiesberts | 16:07d0e43c2d12 | 8 | * Instruments' LDC1101. |
bobgiesberts | 16:07d0e43c2d12 | 9 | * |
bobgiesberts | 20:8e1b1efdbb49 | 10 | * @author Victor Sluiter & Bob Giesberts |
bobgiesberts | 16:07d0e43c2d12 | 11 | * |
bobgiesberts | 16:07d0e43c2d12 | 12 | * @date 2015-12-09 |
bobgiesberts | 16:07d0e43c2d12 | 13 | */ |
bobgiesberts | 16:07d0e43c2d12 | 14 | |
bobgiesberts | 16:07d0e43c2d12 | 15 | #include "mbed.h" |
bobgiesberts | 16:07d0e43c2d12 | 16 | |
bobgiesberts | 16:07d0e43c2d12 | 17 | #ifndef PI |
bobgiesberts | 16:07d0e43c2d12 | 18 | #define PI 3.14 |
bobgiesberts | 16:07d0e43c2d12 | 19 | #endif |
bobgiesberts | 16:07d0e43c2d12 | 20 | |
bobgiesberts | 16:07d0e43c2d12 | 21 | typedef enum { LDC_RESPONSE_192 = 2, \ |
bobgiesberts | 16:07d0e43c2d12 | 22 | LDC_RESPONSE_384 = 3, \ |
bobgiesberts | 19:e205ab9142d8 | 23 | LDC_RESPONSE_768 = 4, \ |
bobgiesberts | 16:07d0e43c2d12 | 24 | LDC_RESPONSE_1536= 5, \ |
bobgiesberts | 16:07d0e43c2d12 | 25 | LDC_RESPONSE_3072= 6, \ |
bobgiesberts | 16:07d0e43c2d12 | 26 | LDC_RESPONSE_6144= 7} LDC_RESPONSE; |
bobgiesberts | 16:07d0e43c2d12 | 27 | |
bobgiesberts | 19:e205ab9142d8 | 28 | typedef enum { LDC_MODE_ACTIVE = 0, \ |
bobgiesberts | 19:e205ab9142d8 | 29 | LDC_MODE_STANDBY = 1, \ |
bobgiesberts | 16:07d0e43c2d12 | 30 | LDC_MODE_SHUTDOWN = 2} LDC_MODE; |
bobgiesberts | 16:07d0e43c2d12 | 31 | |
bobgiesberts | 17:a5cf2b4bec13 | 32 | typedef enum { DIVIDER_1 = 0, \ |
bobgiesberts | 17:a5cf2b4bec13 | 33 | DIVIDER_2 = 1, \ |
bobgiesberts | 17:a5cf2b4bec13 | 34 | DIVIDER_4 = 2, \ |
bobgiesberts | 17:a5cf2b4bec13 | 35 | DIVIDER_8 = 3} DIVIDER; |
bobgiesberts | 17:a5cf2b4bec13 | 36 | |
bobgiesberts | 25:ae111662ee03 | 37 | typedef enum { RPMAX_96 = 0, \ |
bobgiesberts | 25:ae111662ee03 | 38 | RPMAX_48 = 1, \ |
bobgiesberts | 25:ae111662ee03 | 39 | RPMAX_24 = 2, \ |
bobgiesberts | 25:ae111662ee03 | 40 | RPMAX_12 = 3, \ |
bobgiesberts | 25:ae111662ee03 | 41 | RPMAX_6 = 4, \ |
bobgiesberts | 25:ae111662ee03 | 42 | RPMAX_3 = 5, \ |
bobgiesberts | 25:ae111662ee03 | 43 | RPMAX_1 = 6, \ |
bobgiesberts | 25:ae111662ee03 | 44 | RPMAX_0 = 7} RPMAX; |
bobgiesberts | 25:ae111662ee03 | 45 | |
bobgiesberts | 19:e205ab9142d8 | 46 | typedef enum { RPMIN_96 = 0, \ |
bobgiesberts | 19:e205ab9142d8 | 47 | RPMIN_48 = 1, \ |
bobgiesberts | 19:e205ab9142d8 | 48 | RPMIN_24 = 2, \ |
bobgiesberts | 19:e205ab9142d8 | 49 | RPMIN_12 = 3, \ |
bobgiesberts | 19:e205ab9142d8 | 50 | RPMIN_6 = 4, \ |
bobgiesberts | 19:e205ab9142d8 | 51 | RPMIN_3 = 5, \ |
bobgiesberts | 19:e205ab9142d8 | 52 | RPMIN_1 = 6, \ |
bobgiesberts | 19:e205ab9142d8 | 53 | RPMIN_0 = 7} RPMIN; |
bobgiesberts | 17:a5cf2b4bec13 | 54 | |
bobgiesberts | 16:07d0e43c2d12 | 55 | /** |
bobgiesberts | 16:07d0e43c2d12 | 56 | * Class for the LDC1101. |
bobgiesberts | 16:07d0e43c2d12 | 57 | * @author Victor Sluiter |
bobgiesberts | 16:07d0e43c2d12 | 58 | * @date 2015-12-09 |
bobgiesberts | 16:07d0e43c2d12 | 59 | */ |
bobgiesberts | 16:07d0e43c2d12 | 60 | class LDC1101 |
bobgiesberts | 16:07d0e43c2d12 | 61 | { |
bobgiesberts | 16:07d0e43c2d12 | 62 | public: |
bobgiesberts | 16:07d0e43c2d12 | 63 | /** |
bobgiesberts | 16:07d0e43c2d12 | 64 | * @brief Create a new Class to interface to an LDC1101 |
bobgiesberts | 16:07d0e43c2d12 | 65 | **/ |
bobgiesberts | 18:fc9bb81a631f | 66 | LDC1101(PinName mosi, PinName miso, PinName sck, PinName cs, float capacitor, float f_CLKIN, PinName clock_out=NC); |
bobgiesberts | 26:1ef9172cd355 | 67 | ~LDC1101(); |
bobgiesberts | 16:07d0e43c2d12 | 68 | |
bobgiesberts | 16:07d0e43c2d12 | 69 | /** |
bobgiesberts | 16:07d0e43c2d12 | 70 | * @brief Set power mode. |
bobgiesberts | 16:07d0e43c2d12 | 71 | * The constructor sets the LDC1101 in Active mode. |
bobgiesberts | 16:07d0e43c2d12 | 72 | * @param mode choose from LDC_MODE_ACTIVE, LDC_MODE STANDBY or LDC_MODE_SHUTDOWN |
bobgiesberts | 16:07d0e43c2d12 | 73 | **/ |
bobgiesberts | 20:8e1b1efdbb49 | 74 | void func_mode(LDC_MODE mode); |
bobgiesberts | 20:8e1b1efdbb49 | 75 | /** |
bobgiesberts | 20:8e1b1efdbb49 | 76 | * @brief Set LDC1101 to lowest power setting |
bobgiesberts | 20:8e1b1efdbb49 | 77 | **/ |
bobgiesberts | 20:8e1b1efdbb49 | 78 | void sleep(void); |
bobgiesberts | 20:8e1b1efdbb49 | 79 | /** |
bobgiesberts | 20:8e1b1efdbb49 | 80 | * @brief Get LDC1101 to work for you again |
bobgiesberts | 20:8e1b1efdbb49 | 81 | **/ |
bobgiesberts | 20:8e1b1efdbb49 | 82 | void wakeup(void); |
bobgiesberts | 16:07d0e43c2d12 | 83 | /** |
bobgiesberts | 16:07d0e43c2d12 | 84 | * @brief initial configurations |
bobgiesberts | 16:07d0e43c2d12 | 85 | **/ |
bobgiesberts | 16:07d0e43c2d12 | 86 | void init(void); |
bobgiesberts | 16:07d0e43c2d12 | 87 | /** |
bobgiesberts | 19:e205ab9142d8 | 88 | * @brief initialises LHR mode |
bobgiesberts | 19:e205ab9142d8 | 89 | * Also enables shutdown modus |
bobgiesberts | 19:e205ab9142d8 | 90 | **/ |
bobgiesberts | 20:8e1b1efdbb49 | 91 | void setLHRmode(void); |
bobgiesberts | 25:ae111662ee03 | 92 | void setRPmode(void); |
bobgiesberts | 19:e205ab9142d8 | 93 | |
bobgiesberts | 19:e205ab9142d8 | 94 | /** |
bobgiesberts | 19:e205ab9142d8 | 95 | * @brief Settings for RP |
bobgiesberts | 19:e205ab9142d8 | 96 | * @param RPMAX_DIS [7] |
bobgiesberts | 19:e205ab9142d8 | 97 | * 0 - not disabled: RP_MAX is driven |
bobgiesberts | 19:e205ab9142d8 | 98 | * 1 - disabled: RP_MAX is ignored, current drive is off. |
bobgiesberts | 19:e205ab9142d8 | 99 | * @param RPMIN [2:0] |
bobgiesberts | 19:e205ab9142d8 | 100 | * This setting can be calibrated with the target closest to the sensor: R_p(d = 0mm) |
bobgiesberts | 19:e205ab9142d8 | 101 | * RPMIN < 0.8 x R_p(d = 0mm) |
bobgiesberts | 19:e205ab9142d8 | 102 | * If R_p < 750 Ohm --> increase distance to target |
bobgiesberts | 19:e205ab9142d8 | 103 | **/ |
bobgiesberts | 25:ae111662ee03 | 104 | void setRPsettings(bool RPMAX_DIS, RPMAX rpmax, RPMIN rpmin); |
bobgiesberts | 19:e205ab9142d8 | 105 | |
bobgiesberts | 19:e205ab9142d8 | 106 | /** |
bobgiesberts | 17:a5cf2b4bec13 | 107 | * @brief Sensor divider (p.26) |
bobgiesberts | 19:e205ab9142d8 | 108 | * Sensor input divider (p.35) |
bobgiesberts | 20:8e1b1efdbb49 | 109 | * Because f_CLKIN > 4*f_sensor_max is not realisable for higher frequencies, so there is a divider |
bobgiesberts | 20:8e1b1efdbb49 | 110 | * f_CLKIN > 4 * f_sensor_max / SENSOR_DIV |
bobgiesberts | 25:ae111662ee03 | 111 | * this effectively decreases resolution. Preferable use setLHRoffset instead. |
bobgiesberts | 17:a5cf2b4bec13 | 112 | * @param div |
bobgiesberts | 17:a5cf2b4bec13 | 113 | * - DIVIDER_1 |
bobgiesberts | 17:a5cf2b4bec13 | 114 | * - DIVIDER_2 |
bobgiesberts | 17:a5cf2b4bec13 | 115 | * - DIVIDER_4 |
bobgiesberts | 17:a5cf2b4bec13 | 116 | * - DIVIDER_8 |
bobgiesberts | 17:a5cf2b4bec13 | 117 | **/ |
bobgiesberts | 17:a5cf2b4bec13 | 118 | void setDivider(DIVIDER div); |
bobgiesberts | 25:ae111662ee03 | 119 | |
bobgiesberts | 25:ae111662ee03 | 120 | /** |
bobgiesberts | 25:ae111662ee03 | 121 | * @brief Sensor offset (p.26) |
bobgiesberts | 25:ae111662ee03 | 122 | * Sensor offset |
bobgiesberts | 25:ae111662ee03 | 123 | * The sensor might reach a value > 2^24. To prevent this, set an offset. |
bobgiesberts | 25:ae111662ee03 | 124 | * @param offset |
bobgiesberts | 25:ae111662ee03 | 125 | * 32 bit value that should be substracted from the current sensor value |
bobgiesberts | 25:ae111662ee03 | 126 | **/ |
bobgiesberts | 25:ae111662ee03 | 127 | void setLHRoffset( uint32_t offset ); |
bobgiesberts | 19:e205ab9142d8 | 128 | |
bobgiesberts | 16:07d0e43c2d12 | 129 | /** |
bobgiesberts | 19:e205ab9142d8 | 130 | * @brief Set the Response Time parameters. Does not apply in LHR mode (p.17) |
bobgiesberts | 16:07d0e43c2d12 | 131 | * @param responsetime |
bobgiesberts | 16:07d0e43c2d12 | 132 | * Larger value increases accuracy, but slows down the output data rate. Choose one of these values: |
bobgiesberts | 16:07d0e43c2d12 | 133 | * - LDC_RESPONSE_192 |
bobgiesberts | 16:07d0e43c2d12 | 134 | * - LDC_RESPONSE_384 |
bobgiesberts | 16:07d0e43c2d12 | 135 | * - LDC_RESPONSE_768 |
bobgiesberts | 16:07d0e43c2d12 | 136 | * - LDC_RESPONSE_1536 |
bobgiesberts | 16:07d0e43c2d12 | 137 | * - LDC_RESPONSE_3072 |
bobgiesberts | 16:07d0e43c2d12 | 138 | * - LDC_RESPONSE_6144 |
bobgiesberts | 19:e205ab9142d8 | 139 | * ResponseTime |
bobgiesberts | 19:e205ab9142d8 | 140 | * t_conv (s) = ------------ |
bobgiesberts | 19:e205ab9142d8 | 141 | * 3 x f_sensor |
bobgiesberts | 16:07d0e43c2d12 | 142 | **/ |
bobgiesberts | 16:07d0e43c2d12 | 143 | void setResponseTime(LDC_RESPONSE responsetime); |
bobgiesberts | 16:07d0e43c2d12 | 144 | |
bobgiesberts | 19:e205ab9142d8 | 145 | /** |
bobgiesberts | 19:e205ab9142d8 | 146 | * @brief Set the Reference Count parameter. |
bobgiesberts | 20:8e1b1efdbb49 | 147 | * @param LHR_RCount |
bobgiesberts | 19:e205ab9142d8 | 148 | * For LHR mode, the conversion time is set by the reference count LHR_RCOUNT (0x30 & 0x31) (p.34) |
bobgiesberts | 19:e205ab9142d8 | 149 | * The conversion time represents the number of clock cycles used to measure the sensor frequency. |
bobgiesberts | 19:e205ab9142d8 | 150 | * Higher values for LHR_RCOUNT have a higher effective measurement resolution but a lower sample rate. (p.34) |
bobgiesberts | 19:e205ab9142d8 | 151 | * The maximum setting (0xffff) is required for full resolution (p. 35) |
bobgiesberts | 20:8e1b1efdbb49 | 152 | * LHR_RCount = (f_CLKIN/sample rate - 55)/16 |
bobgiesberts | 20:8e1b1efdbb49 | 153 | **/ |
bobgiesberts | 20:8e1b1efdbb49 | 154 | void setReferenceCount(uint16_t LHR_RCount); |
bobgiesberts | 20:8e1b1efdbb49 | 155 | |
bobgiesberts | 20:8e1b1efdbb49 | 156 | /** |
bobgiesberts | 20:8e1b1efdbb49 | 157 | * @brief Set the rample rate (indirectly set the reference count) |
bobgiesberts | 19:e205ab9142d8 | 158 | **/ |
bobgiesberts | 20:8e1b1efdbb49 | 159 | void setSampleRate( float samplerate ); |
bobgiesberts | 20:8e1b1efdbb49 | 160 | |
bobgiesberts | 20:8e1b1efdbb49 | 161 | /** |
bobgiesberts | 20:8e1b1efdbb49 | 162 | * @brief Set the minimum sensor frequency (so without any target) |
bobgiesberts | 20:8e1b1efdbb49 | 163 | * @param f_sensor_min |
bobgiesberts | 25:ae111662ee03 | 164 | * f_sensor_min in MHz |
bobgiesberts | 25:ae111662ee03 | 165 | * value between 0.5 and 8 MHz |
bobgiesberts | 20:8e1b1efdbb49 | 166 | **/ |
bobgiesberts | 25:ae111662ee03 | 167 | void set_fsensor_min(float f_sensor_min); |
bobgiesberts | 20:8e1b1efdbb49 | 168 | |
bobgiesberts | 19:e205ab9142d8 | 169 | /** |
bobgiesberts | 19:e205ab9142d8 | 170 | * @brief Set the value of the external capacitor |
bobgiesberts | 19:e205ab9142d8 | 171 | * This is needed for the calculation of the inductance. |
bobgiesberts | 19:e205ab9142d8 | 172 | **/ |
bobgiesberts | 19:e205ab9142d8 | 173 | void setCapacitor(float c){_cap = c;}; |
bobgiesberts | 19:e205ab9142d8 | 174 | /** |
bobgiesberts | 19:e205ab9142d8 | 175 | * @brief set the value of the external clock |
bobgiesberts | 19:e205ab9142d8 | 176 | * If PWMout is used to generate a clock signal, this will update the output frequency.s |
bobgiesberts | 19:e205ab9142d8 | 177 | **/ |
bobgiesberts | 19:e205ab9142d8 | 178 | void setFrequency(float frequency){_fCLKIN = frequency;}; |
bobgiesberts | 19:e205ab9142d8 | 179 | |
bobgiesberts | 19:e205ab9142d8 | 180 | |
bobgiesberts | 20:8e1b1efdbb49 | 181 | |
bobgiesberts | 20:8e1b1efdbb49 | 182 | |
bobgiesberts | 20:8e1b1efdbb49 | 183 | |
bobgiesberts | 19:e205ab9142d8 | 184 | /** |
bobgiesberts | 19:e205ab9142d8 | 185 | * @brief Read LHR_Data, the raw 24-bit inductance value. |
bobgiesberts | 19:e205ab9142d8 | 186 | * This is needed for the calculation of the inductance. |
bobgiesberts | 19:e205ab9142d8 | 187 | * It reads from addresses 0x38, 0x39 & 0x3A. |
bobgiesberts | 19:e205ab9142d8 | 188 | **/ |
bobgiesberts | 19:e205ab9142d8 | 189 | uint32_t get_LHR_Data(void); |
bobgiesberts | 25:ae111662ee03 | 190 | uint16_t get_RP_Data(void); |
bobgiesberts | 25:ae111662ee03 | 191 | uint16_t get_L_Data(void); |
bobgiesberts | 25:ae111662ee03 | 192 | /** |
bobgiesberts | 25:ae111662ee03 | 193 | * @brief get the set minimum value for f_sensor (0x04[7:5]) |
bobgiesberts | 25:ae111662ee03 | 194 | **/ |
bobgiesberts | 25:ae111662ee03 | 195 | float get_fsensor_min(void); |
bobgiesberts | 19:e205ab9142d8 | 196 | /** |
bobgiesberts | 19:e205ab9142d8 | 197 | * @brief get the calculated value for f_sensor |
bobgiesberts | 19:e205ab9142d8 | 198 | **/ |
bobgiesberts | 25:ae111662ee03 | 199 | float get_fsensor(uint32_t Ldata = 0); |
bobgiesberts | 19:e205ab9142d8 | 200 | /** |
bobgiesberts | 19:e205ab9142d8 | 201 | * @brief get the calculated inductance value |
bobgiesberts | 19:e205ab9142d8 | 202 | **/ |
bobgiesberts | 25:ae111662ee03 | 203 | float get_Inductance(uint32_t Ldata = 0); |
bobgiesberts | 25:ae111662ee03 | 204 | float get_RP( uint16_t RPdata = 0); |
bobgiesberts | 19:e205ab9142d8 | 205 | /** |
bobgiesberts | 19:e205ab9142d8 | 206 | * @brief get the reference frequency (f_CLKIN) |
bobgiesberts | 19:e205ab9142d8 | 207 | **/ |
bobgiesberts | 19:e205ab9142d8 | 208 | float get_fCLKIN(void); |
bobgiesberts | 19:e205ab9142d8 | 209 | /** |
bobgiesberts | 19:e205ab9142d8 | 210 | * @brief get the responsetime |
bobgiesberts | 19:e205ab9142d8 | 211 | **/ |
bobgiesberts | 20:8e1b1efdbb49 | 212 | uint16_t get_responsetime(void) { uint16_t resps[] = {0, 0, 192, 384, 768, 1536, 3072, 6144}; uint8_t resp[1]; readSPI(resp, 0x04, 1); return resps[(resp[0] & 0x07)]; }; |
bobgiesberts | 19:e205ab9142d8 | 213 | /** |
bobgiesberts | 19:e205ab9142d8 | 214 | * @brief get RPmin |
bobgiesberts | 19:e205ab9142d8 | 215 | **/ |
bobgiesberts | 19:e205ab9142d8 | 216 | float get_RPmin(void); |
bobgiesberts | 19:e205ab9142d8 | 217 | /** |
bobgiesberts | 25:ae111662ee03 | 218 | * @brief get RPmax |
bobgiesberts | 25:ae111662ee03 | 219 | **/ |
bobgiesberts | 25:ae111662ee03 | 220 | float get_RPmax(void); |
bobgiesberts | 25:ae111662ee03 | 221 | /** |
bobgiesberts | 19:e205ab9142d8 | 222 | * @brief get the reference count |
bobgiesberts | 19:e205ab9142d8 | 223 | **/ |
bobgiesberts | 20:8e1b1efdbb49 | 224 | uint16_t get_Rcount(void) { uint8_t rcount[2]; readSPI(rcount, 0x30, 2); return ((rcount[1] << 8) | rcount[0]); }; |
bobgiesberts | 19:e205ab9142d8 | 225 | /** |
bobgiesberts | 19:e205ab9142d8 | 226 | * @brief get the divider |
bobgiesberts | 19:e205ab9142d8 | 227 | **/ |
bobgiesberts | 19:e205ab9142d8 | 228 | uint8_t get_divider(void); |
bobgiesberts | 19:e205ab9142d8 | 229 | /** |
bobgiesberts | 25:ae111662ee03 | 230 | * @brief get LHR_OFFSET |
bobgiesberts | 25:ae111662ee03 | 231 | **/ |
bobgiesberts | 25:ae111662ee03 | 232 | uint32_t get_LHRoffset(void); |
bobgiesberts | 25:ae111662ee03 | 233 | /** |
bobgiesberts | 19:e205ab9142d8 | 234 | * @brief get the capacitance |
bobgiesberts | 19:e205ab9142d8 | 235 | **/ |
bobgiesberts | 19:e205ab9142d8 | 236 | float get_cap(void); |
bobgiesberts | 19:e205ab9142d8 | 237 | /** |
bobgiesberts | 19:e205ab9142d8 | 238 | * @brief get the quality |
bobgiesberts | 19:e205ab9142d8 | 239 | **/ |
bobgiesberts | 19:e205ab9142d8 | 240 | float get_Q(void); |
bobgiesberts | 19:e205ab9142d8 | 241 | |
bobgiesberts | 22:8da965ce5af3 | 242 | uint8_t get_status(void); |
bobgiesberts | 22:8da965ce5af3 | 243 | uint8_t get_LHR_status(void); |
bobgiesberts | 22:8da965ce5af3 | 244 | bool is_New_LHR_data(void); |
bobgiesberts | 22:8da965ce5af3 | 245 | bool is_Oscillation_Error(void); |
bobgiesberts | 19:e205ab9142d8 | 246 | |
bobgiesberts | 19:e205ab9142d8 | 247 | |
bobgiesberts | 19:e205ab9142d8 | 248 | |
bobgiesberts | 19:e205ab9142d8 | 249 | |
bobgiesberts | 16:07d0e43c2d12 | 250 | private: |
bobgiesberts | 16:07d0e43c2d12 | 251 | void readSPI(uint8_t *data, uint8_t address, uint8_t num_bytes = 1); |
bobgiesberts | 16:07d0e43c2d12 | 252 | void writeSPI(uint8_t *data, uint8_t address, uint8_t num_bytes = 1); |
bobgiesberts | 16:07d0e43c2d12 | 253 | void writeSPIregister(uint8_t reg, uint8_t value){writeSPI(&value,reg);}; // VERKEERD OM?! |
bobgiesberts | 22:8da965ce5af3 | 254 | void suicide(void *obj) {delete obj;}; |
bobgiesberts | 16:07d0e43c2d12 | 255 | |
bobgiesberts | 16:07d0e43c2d12 | 256 | |
bobgiesberts | 19:e205ab9142d8 | 257 | uint16_t _responsetime; // Response Time |
bobgiesberts | 19:e205ab9142d8 | 258 | uint8_t _divider; // divider |
bobgiesberts | 25:ae111662ee03 | 259 | uint32_t _LHRoffset; // LHR_OFFSET |
bobgiesberts | 19:e205ab9142d8 | 260 | float _RPmin; // RP_MIN |
bobgiesberts | 25:ae111662ee03 | 261 | float _RPmax; // RP_MAX |
bobgiesberts | 19:e205ab9142d8 | 262 | float _fsensor; // f_sensor: the calculated frequency of the sensor |
bobgiesberts | 25:ae111662ee03 | 263 | float _f_sensor_min; // f_sensor_min: setting for the lowest expected value for f_sensor |
bobgiesberts | 19:e205ab9142d8 | 264 | float _inductance; // the calculated inductance |
bobgiesberts | 19:e205ab9142d8 | 265 | float _fCLKIN; // f_CLKIN: frequency of external clock: 16MHz |
bobgiesberts | 19:e205ab9142d8 | 266 | float _cap; // capacitor: 120 pF |
bobgiesberts | 19:e205ab9142d8 | 267 | uint32_t _L_data; // The raw measured data for inductance |
bobgiesberts | 19:e205ab9142d8 | 268 | uint16_t _Rcount; // The reference count |
bobgiesberts | 19:e205ab9142d8 | 269 | |
bobgiesberts | 19:e205ab9142d8 | 270 | |
bobgiesberts | 16:07d0e43c2d12 | 271 | SPI _spiport; |
bobgiesberts | 16:07d0e43c2d12 | 272 | DigitalOut _cs_pin; |
bobgiesberts | 16:07d0e43c2d12 | 273 | |
bobgiesberts | 17:a5cf2b4bec13 | 274 | //FastPWM _clock; |
bobgiesberts | 16:07d0e43c2d12 | 275 | }; |
bobgiesberts | 16:07d0e43c2d12 | 276 | |
bobgiesberts | 16:07d0e43c2d12 | 277 | #endif |