refactor xbee complet
Fork of Repo_Noeud_Mobile by
Embed:
(wiki syntax)
Show/hide line numbers
FlexSensor.cpp
00001 #include "FlexSensor.h" 00002 00003 Serial f_pc(USBTX, USBRX); 00004 DigitalOut led1(LED1); 00005 DigitalOut led2(LED2); 00006 DigitalOut led3(LED3); 00007 00008 FlexSensor::FlexSensor() //default constructor 00009 { 00010 FlexSensor(p18, p19, p20, p17); 00011 } 00012 00013 FlexSensor::FlexSensor(PinName pinIndex, PinName pinMajeur, PinName pinAnnulaire, PinName pinReference) 00014 { 00015 this->AinIndex = new AnalogIn(pinIndex); 00016 this->AinMajeur = new AnalogIn(pinMajeur); 00017 this->AinAnnulaire = new AnalogIn(pinAnnulaire); 00018 this->AinRef = new AnalogIn(pinReference); 00019 00020 flex_data.index = 0x01; 00021 flex_data.majeur = 0x01; 00022 flex_data.annulaire = 0x01; 00023 00024 } 00025 00026 FlexSensor::~FlexSensor() 00027 { 00028 delete this->AinIndex; 00029 delete this->AinMajeur; 00030 delete this->AinAnnulaire; 00031 delete this->AinRef; 00032 } 00033 00034 void FlexSensor::Run() 00035 { 00036 while(true) { 00037 mutex.lock(); 00038 unsigned short Vref = AinRef->read_u16(); 00039 AinIndex->read_u16() > Vref ? flex_data.index = 1 : flex_data.index = 0; 00040 AinMajeur->read_u16() > Vref ? flex_data.majeur = 1 : flex_data.majeur = 0; 00041 AinAnnulaire->read_u16() > Vref ? flex_data.annulaire = 1 : flex_data.annulaire = 0; 00042 00043 led1 = flex_data.index; 00044 led2 = flex_data.majeur; 00045 led3 = flex_data.annulaire; 00046 mutex.unlock(); 00047 } 00048 } 00049 00050 flex_t FlexSensor::get_flex_values() 00051 { 00052 mutex.lock(); 00053 flex_t result = flex_data; 00054 mutex.unlock(); 00055 00056 return result; 00057 }
Generated on Thu Jul 21 2022 13:34:51 by
1.7.2
