@@ -22,21 +22,26 @@ LSA08::LSA08(HardwareSerial *port, int baudrate, unsigned int addr, unsigned int
2222 this ->mode = LSA08_MODE_SERIAL;
2323 this ->port = port;
2424 this ->addr = addr;
25- pin = en_pin;
26- pinMode (pin, OUTPUT);
27- digitalWrite (pin, HIGH);
28- this ->port ->begin (baudrate);
25+ this ->pin = en_pin;
26+ this ->baudrate = baudrate;
2927}
3028
3129LSA08::LSA08 (SoftwareSerial *port, int baudrate, unsigned int addr, unsigned int en_pin)
3230{
3331 this ->mode = LSA08_MODE_SOFT_SERIAL;
3432 this ->soft_port = port;
3533 this ->addr = addr;
36- pin = en_pin;
37- pinMode (pin, OUTPUT);
38- digitalWrite (pin, HIGH);
39- this ->soft_port ->begin (9600 );
34+ this ->pin = en_pin;
35+ }
36+
37+ void LSA08::init ()
38+ {
39+ pinMode (this ->pin , OUTPUT);
40+ digitalWrite (this ->pin , HIGH);
41+ if (this ->mode == LSA08_MODE_SERIAL)
42+ this ->port ->begin (baudrate);
43+ else if (this ->mode == LSA08_MODE_SOFT_SERIAL)
44+ this ->soft_port ->begin (9600 );
4045}
4146
4247int LSA08::disable_stream ()
@@ -45,7 +50,7 @@ int LSA08::disable_stream()
4550 {
4651 return MODE_ERROR;
4752 }
48- digitalWrite (pin, HIGH);
53+ digitalWrite (this -> pin , HIGH);
4954 return SYS_OK;
5055}
5156
@@ -55,7 +60,7 @@ int LSA08::enable_stream()
5560 {
5661 return MODE_ERROR;
5762 }
58- digitalWrite (pin, LOW);
63+ digitalWrite (this -> pin , LOW);
5964 return SYS_OK;
6065}
6166
@@ -87,7 +92,7 @@ int LSA08::set_line_mode(line_mode mode)
8792 {
8893 return MODE_ERROR;
8994 }
90- if (mode > 1 && mode < 0 )
95+ if (mode != LIGHT_LINE && mode != DARK_LINE )
9196 {
9297 return BAD_PACKET;
9398 }
@@ -96,7 +101,7 @@ int LSA08::set_line_mode(line_mode mode)
96101
97102int LSA08::set_threshold (unsigned int threshold)
98103{
99- if (mode != LSA08_MODE_SERIAL && mode != LSA08_MODE_SOFT_SERIAL)
104+ if (this -> mode != LSA08_MODE_SERIAL && this -> mode != LSA08_MODE_SOFT_SERIAL)
100105 {
101106 return MODE_ERROR;
102107 }
@@ -109,11 +114,11 @@ int LSA08::set_threshold(unsigned int threshold)
109114
110115unsigned int LSA08::read_line ()
111116{
112- if (mode == LSA08_MODE_SERIAL || mode == LSA08_MODE_SOFT_SERIAL)
117+ if (this -> mode == LSA08_MODE_SERIAL || this -> mode == LSA08_MODE_SOFT_SERIAL)
113118 {
114119 return get_data ();
115120 }
116- else if (mode == LSA08_MODE_ANALOG)
121+ else if (this -> mode == LSA08_MODE_ANALOG)
117122 {
118123 return analogRead (pin);
119124 }
0 commit comments