mirror of
https://github.com/oopuuu/zTC1.git
synced 2025-12-16 15:08:15 +08:00
60 lines
1.6 KiB
C
60 lines
1.6 KiB
C
/**
|
|
******************************************************************************
|
|
* @file infrared_reflective.h
|
|
* @author Eshen Wang
|
|
* @version V1.0.0
|
|
* @date 1-May-2015
|
|
* @brief infrared reflective sensor operation.
|
|
******************************************************************************
|
|
* UNPUBLISHED PROPRIETARY SOURCE CODE
|
|
* Copyright (c) 2016 MXCHIP Inc.
|
|
*
|
|
* The contents of this file may not be disclosed to third parties, copied or
|
|
* duplicated in any form, in whole or in part, without the prior written
|
|
* permission of MXCHIP Corporation.
|
|
******************************************************************************
|
|
*/
|
|
|
|
#include "mico_platform.h"
|
|
#include "infrared_reflective.h"
|
|
|
|
#define infrared_reflective_log(M, ...) custom_log("INFRARED_REFLECTIVE", M, ##__VA_ARGS__)
|
|
#define infrared_reflective_log_trace() custom_log_trace("INFRARED_REFLECTIVE")
|
|
|
|
|
|
/*------------------------------ USER INTERFACES -----------------------------*/
|
|
|
|
int infrared_reflective_init(void)
|
|
{
|
|
OSStatus err = kUnknownErr;
|
|
|
|
err = MicoAdcInitialize(INFARAED_REFLECTIVE_ADC, INFARAED_REFLECTIVE_ADC_SAMPLE_CYCLE);
|
|
if(kNoErr != err){
|
|
return -1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
int infrared_reflective_read(uint16_t *data)
|
|
{
|
|
int ret = 0;
|
|
OSStatus err = kUnknownErr;
|
|
|
|
// init ADC
|
|
err = MicoAdcInitialize(INFARAED_REFLECTIVE_ADC, INFARAED_REFLECTIVE_ADC_SAMPLE_CYCLE);
|
|
if(kNoErr != err){
|
|
return -1;
|
|
}
|
|
// get ADC data
|
|
err = MicoAdcTakeSample(INFARAED_REFLECTIVE_ADC, data);
|
|
if(kNoErr == err){
|
|
ret = 0; // get data succeed
|
|
}
|
|
else{
|
|
ret = -1; // get data error
|
|
}
|
|
|
|
return ret;
|
|
}
|