Temporary Connector Reversed Version

Dependencies:   UniGraphic mbed vt100

afero_poc15_180403R , J1 のピン配置を反転させたヴァージョンです。

Color2系を使用するためには以下のピンをジャンパで接続してください。
J1-D7 <-> J1-D0
J1-D6 <-> J1-D1

(調査中) また、こちらでテストした範囲では、
FRDM-KL25Z の V3.3 を、Modulo2 の VCC_3V3 ピンに接続してやる必要がありました。

尚、J1-D1, D0 を使用するために UART を無効にしているため
ログは表示されません。

TFTモジュールについて 
aitendoのTFTモジュールはデフォルトでは8bit bus モードになっています。
/media/uploads/Rhyme/img_2364.jpg

半田のジャンパを変えて、SPIの設定にしてください。
/media/uploads/Rhyme/img_2363.jpg

サーミスタについて
POC1.5 では サーミスタは 25℃の時に抵抗値が 50.0kΩになる502AT-11 が
4.95kΩのプルアップ(実際は10kΩx2の並列)で使用されていました。

今回の試作では抵抗値が 10.0kΩの 103AT-11 が
5.1kΩのプルアップで使用されていますので、係数を合わせるために
SMTC502AT-11 のコンストラクタを 
R0 = 10.0
R1 = 5.1
B = 3435
T0 = 298.15
で呼ぶように変更しました。

Committer:
Rhyme
Date:
Tue Apr 24 12:18:10 2018 +0000
Revision:
1:6c54dc8acf96
Parent:
0:0b6732b53bf4
to adjust with 103AT-11 with 5.1k pull-up, the constructor of 502AT-11 is called with R0=10.0, R1=5.1, B=3435, T0=298.15

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Rhyme 0:0b6732b53bf4 1 #ifndef _EDGE_PRESSURE_H_
Rhyme 0:0b6732b53bf4 2 #define _EDGE_PRESSURE_H_
Rhyme 0:0b6732b53bf4 3 #include "mbed.h"
Rhyme 0:0b6732b53bf4 4 #include "edge_sensor.h"
Rhyme 0:0b6732b53bf4 5 #include "PSE530.h"
Rhyme 0:0b6732b53bf4 6
Rhyme 0:0b6732b53bf4 7 /**
Rhyme 0:0b6732b53bf4 8 * edge_pressure edge_sensor for measuring gas presssure
Rhyme 0:0b6732b53bf4 9 */
Rhyme 0:0b6732b53bf4 10
Rhyme 0:0b6732b53bf4 11 class edge_pressure : public edge_sensor {
Rhyme 0:0b6732b53bf4 12 public:
Rhyme 0:0b6732b53bf4 13 /**
Rhyme 0:0b6732b53bf4 14 * constructor
Rhyme 0:0b6732b53bf4 15 * @param *pse PSE530 pressure sensor object
Rhyme 0:0b6732b53bf4 16 */
Rhyme 0:0b6732b53bf4 17 edge_pressure(PSE530 *pse, DigitalOut *en) ;
Rhyme 0:0b6732b53bf4 18
Rhyme 0:0b6732b53bf4 19 /**
Rhyme 0:0b6732b53bf4 20 * destructor
Rhyme 0:0b6732b53bf4 21 */
Rhyme 0:0b6732b53bf4 22 ~edge_pressure(void) ;
Rhyme 0:0b6732b53bf4 23
Rhyme 0:0b6732b53bf4 24 /**
Rhyme 0:0b6732b53bf4 25 * reset and clear internal values
Rhyme 0:0b6732b53bf4 26 */
Rhyme 0:0b6732b53bf4 27 virtual void reset(void) ;
Rhyme 0:0b6732b53bf4 28
Rhyme 0:0b6732b53bf4 29 /**
Rhyme 0:0b6732b53bf4 30 * prepare for sampling (not used)
Rhyme 0:0b6732b53bf4 31 */
Rhyme 0:0b6732b53bf4 32 virtual void prepare(void) ;
Rhyme 0:0b6732b53bf4 33
Rhyme 0:0b6732b53bf4 34 /**
Rhyme 0:0b6732b53bf4 35 * sample the value
Rhyme 0:0b6732b53bf4 36 * @returns 0: success non-0: failure
Rhyme 0:0b6732b53bf4 37 */
Rhyme 0:0b6732b53bf4 38 virtual int sample(void) ;
Rhyme 0:0b6732b53bf4 39
Rhyme 0:0b6732b53bf4 40 /**
Rhyme 0:0b6732b53bf4 41 * deliver the sampled value to afero cloud
Rhyme 0:0b6732b53bf4 42 */
Rhyme 0:0b6732b53bf4 43 virtual int deliver(void) ;
Rhyme 0:0b6732b53bf4 44
Rhyme 0:0b6732b53bf4 45 /**
Rhyme 0:0b6732b53bf4 46 * show the value in the display (TFT)
Rhyme 0:0b6732b53bf4 47 */
Rhyme 0:0b6732b53bf4 48 virtual void show(void) ;
Rhyme 0:0b6732b53bf4 49 // virtual void send_config(void) ; /* send config data to cloud */
Rhyme 0:0b6732b53bf4 50 // virtual void recv_config(void) ; /* receive config data from cloud */
Rhyme 0:0b6732b53bf4 51
Rhyme 0:0b6732b53bf4 52 /**
Rhyme 0:0b6732b53bf4 53 * get_value sample sensor value and calcurate it to the metric value
Rhyme 0:0b6732b53bf4 54 * @returns measured value in kgf/cm2
Rhyme 0:0b6732b53bf4 55 */
Rhyme 0:0b6732b53bf4 56 float get_value(void) ;
Rhyme 0:0b6732b53bf4 57
Rhyme 0:0b6732b53bf4 58 /**
Rhyme 0:0b6732b53bf4 59 * Set threshold mode
Rhyme 0:0b6732b53bf4 60 * @param mode int 0: absolute value 1: relative value in percent
Rhyme 0:0b6732b53bf4 61 */
Rhyme 0:0b6732b53bf4 62 void set_thr_mode(int mode) { _thr_mode = mode ; }
Rhyme 0:0b6732b53bf4 63
Rhyme 0:0b6732b53bf4 64 /**
Rhyme 0:0b6732b53bf4 65 * Get threshold mode
Rhyme 0:0b6732b53bf4 66 * @returns the mode 0: absolute value 1: relative value in percent
Rhyme 0:0b6732b53bf4 67 */
Rhyme 0:0b6732b53bf4 68 int get_thr_mode(void) { return _thr_mode ; }
Rhyme 0:0b6732b53bf4 69
Rhyme 0:0b6732b53bf4 70 /**
Rhyme 0:0b6732b53bf4 71 * Set higher threshold
Rhyme 0:0b6732b53bf4 72 * @param thr_high int16_t the higher threshold
Rhyme 0:0b6732b53bf4 73 */
Rhyme 0:0b6732b53bf4 74 void set_thr_high(int16_t thr_high) ;
Rhyme 0:0b6732b53bf4 75
Rhyme 0:0b6732b53bf4 76 /**
Rhyme 0:0b6732b53bf4 77 * Get higher threshold, the value is calcurated with expected value
Rhyme 0:0b6732b53bf4 78 * @param expected float the expected pressure value for current temperature
Rhyme 0:0b6732b53bf4 79 */
Rhyme 0:0b6732b53bf4 80 float get_thr_high(float expected) ;
Rhyme 0:0b6732b53bf4 81
Rhyme 0:0b6732b53bf4 82 /**
Rhyme 0:0b6732b53bf4 83 * Set lower threshold
Rhyme 0:0b6732b53bf4 84 * @param thr_low int16_t the lower threshold
Rhyme 0:0b6732b53bf4 85 */
Rhyme 0:0b6732b53bf4 86 void set_thr_low(int16_t thr_low) ;
Rhyme 0:0b6732b53bf4 87
Rhyme 0:0b6732b53bf4 88 /**
Rhyme 0:0b6732b53bf4 89 * Get lower threshold, the value is calcurated with expected value
Rhyme 0:0b6732b53bf4 90 * @param expected float the expected pressure value for current temperature
Rhyme 0:0b6732b53bf4 91 */
Rhyme 0:0b6732b53bf4 92 float get_thr_low(float expected) ;
Rhyme 0:0b6732b53bf4 93
Rhyme 0:0b6732b53bf4 94 /**
Rhyme 0:0b6732b53bf4 95 * draw triangle pointer for GAS pressure mode display
Rhyme 0:0b6732b53bf4 96 */
Rhyme 0:0b6732b53bf4 97
Rhyme 0:0b6732b53bf4 98 void drawPointer(int c) ;
Rhyme 0:0b6732b53bf4 99
Rhyme 0:0b6732b53bf4 100 private:
Rhyme 0:0b6732b53bf4 101 PSE530 *_pse ;
Rhyme 0:0b6732b53bf4 102 DigitalOut *_en ;
Rhyme 0:0b6732b53bf4 103 float _value ;
Rhyme 0:0b6732b53bf4 104 float _thr_high ;
Rhyme 0:0b6732b53bf4 105 float _thr_low ;
Rhyme 0:0b6732b53bf4 106 int _thr_mode ;
Rhyme 0:0b6732b53bf4 107 float _expected ;
Rhyme 0:0b6732b53bf4 108 float _higher ;
Rhyme 0:0b6732b53bf4 109 float _lower ;
Rhyme 0:0b6732b53bf4 110 } ;
Rhyme 0:0b6732b53bf4 111
Rhyme 0:0b6732b53bf4 112 float temp2expected(float temp) ;
Rhyme 0:0b6732b53bf4 113 extern float *current_temp ;
Rhyme 0:0b6732b53bf4 114
Rhyme 0:0b6732b53bf4 115 #endif /* _EDGE_PRESSURE_H_ */