Revision 7df78c60 include/AT42QT1050/v1/alld_AT42QT1050_v1.h
| include/AT42QT1050/v1/alld_AT42QT1050_v1.h | ||
|---|---|---|
| 250 | 250 | 
    float at42qt1050_lld_samples2pulse(const uint16_t samples);  | 
| 251 | 251 | 
    uint16_t at42qt1050_lld_scale2scaling(const uint8_t scale);  | 
| 252 | 252 | 
    float at42qt1050_lld_scaling2scale(const uint16_t factor);  | 
| 253 | 
     | 
|
| 254 | 
     | 
|
| 255 | 
    /**  | 
|
| 256 | 
    * @brief Calculates n-th address based on address of register 0.  | 
|
| 257 | 
    * @details Calculation: <scale value> = log2(<scaling factor>  | 
|
| 258 | 
    * )  | 
|
| 259 | 
    * @param[in] base Base address = frist register  | 
|
| 260 | 
    * @param[in] inc Jump to the next register inc times  | 
|
| 261 | 
    *  | 
|
| 262 | 
    * @return Calculated register address  | 
|
| 263 | 
    */  | 
|
| 264 | 
      inline at42qt1050_lld_register_t at42qt1050_lld_addr_calc(const at42qt1050_lld_register_t base, const uint8_t inc) {
   | 
|
| 265 | 
    apalDbgAssert(inc < 5);  | 
|
| 266 | 
     | 
|
| 267 | 
    uint8_t double_result = 0; //16bit access  | 
|
| 268 | 
     | 
|
| 269 | 
        switch (base) {
   | 
|
| 270 | 
    case AT42QT1050_LLD_REG_KEYSIGNAL_0: //2 4 2 2  | 
|
| 271 | 
    case AT42QT1050_LLD_REG_REFERENCEDATA_0: //2 4 2 2  | 
|
| 272 | 
    double_result = 1;  | 
|
| 273 | 
    case AT42QT1050_LLD_REG_NEGATIVETHRESHOLD_0: //1 2 1 1  | 
|
| 274 | 
    case AT42QT1050_LLD_REG_PULSE_SCALE_0: //1 2 1 1  | 
|
| 275 | 
    case AT42QT1050_LLD_REG_INTEGRATOR_AKS_0: //1 2 1 1  | 
|
| 276 | 
    case AT42QT1050_LLD_REG_CHARGESHAREDELAY_0: //1 2 1 1  | 
|
| 277 | 
          {
   | 
|
| 278 | 
    uint8_t increase = ((inc>1)?inc+1:inc);  | 
|
| 279 | 
    return (at42qt1050_lld_register_t) (((uint8_t) base)+(increase << double_result));  | 
|
| 280 | 
    }  | 
|
| 281 | 
    default:  | 
|
| 282 | 
          {
   | 
|
| 283 | 
            apalDbgPrintf("invalid base register 0x%04X\n", base);
   | 
|
| 284 | 
    return (at42qt1050_lld_register_t) 0xFF; //does not exist  | 
|
| 285 | 
    }  | 
|
| 286 | 
    }  | 
|
| 287 | 
    }  | 
|
| 288 | 
     | 
|
| 253 | 289 | 
    #ifdef __cplusplus  | 
| 254 | 290 | 
    }  | 
| 255 | 291 | 
    #endif  | 
Also available in: Unified diff