PAW_Sensor: This library control the PAW sensor. This library get sensor values from the PAW sensor, and send these values to PC through serial-communication. And you need to convert these values to delta h using some module on PC. I create sample python module for this library. If you want to get this module, please access below page, https://github.com/HiroakiMatsuda/PAW-Sensor The PAW Sensor is developed by RT. If you need to get information about this sensors, please access below page. http://www.rt-shop.jp/index.php?main_page=product_info&cPath=42&products_id=1303
Dependents: PAW_Sensor_HelloWorld
paw.cpp
00001 #include "paw.h" 00002 00003 PAW::PAW( PinName led_1, PinName led_2, PinName photo_1, PinName photo_2 ): 00004 _led_1( led_1 ), _led_2( led_2 ), _photo_1( photo_1 ), _photo_2( photo_2 ){ 00005 00006 _led_1 = 0; 00007 _led_2 = 0; 00008 _state = STATE_1; 00009 } 00010 00011 unsigned char PAW::process_paw() 00012 { 00013 switch( _state ) 00014 { 00015 case STATE_1: 00016 _value.initial_photo_1 = _photo_1.read_u16(); 00017 _value.initial_photo_2 = _photo_2.read_u16(); 00018 _led_1 = 1; 00019 00020 _state = STATE_2; 00021 break; 00022 00023 case STATE_2: 00024 _value.ch_3 = ( _photo_1.read_u16() - _value.initial_photo_1 ) >> 4; 00025 _value.ch_4 = ( _photo_2.read_u16() - _value.initial_photo_2 ) >> 4; 00026 _led_1 = 0; 00027 00028 _state = STATE_3; 00029 break; 00030 00031 case STATE_3: 00032 _value.initial_photo_1 = _photo_1.read_u16(); 00033 _value.initial_photo_2 = _photo_2.read_u16(); 00034 _led_2 = 1; 00035 00036 _state = STATE_4; 00037 break; 00038 00039 case STATE_4: 00040 _value.ch_2 = ( _photo_1.read_u16() - _value.initial_photo_2 ) >> 4; 00041 _value.ch_1 = ( _photo_2.read_u16() - _value.initial_photo_1 ) >> 4; 00042 _led_2 = 0; 00043 00044 _state = STATE_1; 00045 break; 00046 } 00047 00048 return _state; 00049 } 00050 00051 paw_value PAW::get_value() 00052 { 00053 return _value; 00054 } 00055 00056 bool PAW::get_state() 00057 { 00058 return _state; 00059 } 00060 00061 void PAW::print( Serial* pc, unsigned char id ) 00062 { 00063 pc->printf("%c%c%c%c%c%c%c%c%c%c%c", 0xFA, 0xAF, id, 00064 _value.ch_1 & 0x00FF, ( _value.ch_1 & 0xFF00 ) >> 8, 00065 _value.ch_2 & 0x00FF, ( _value.ch_2 & 0xFF00 ) >> 8, 00066 _value.ch_3 & 0x00FF, ( _value.ch_3 & 0xFF00 ) >> 8, 00067 _value.ch_4 & 0x00FF, ( _value.ch_4 & 0xFF00 ) >> 8); 00068 } 00069
Generated on Thu Jul 14 2022 00:11:31 by 1.7.2