47
47
#define RW_TEST_LENGTH 129 /*!<Data length for r/w test, any value from 0-DATA_LENGTH*/
48
48
#define DELAY_TIME_BETWEEN_ITEMS_MS 1234 /*!< delay time between different test items */
49
49
50
- #define I2C_SLAVE_SCL_IO 26 /*!<gpio number for i2c slave clock */
51
- #define I2C_SLAVE_SDA_IO 25 /*!<gpio number for i2c slave data */
52
- #define I2C_SLAVE_NUM I2C_NUM_0 /*!<I2C port number for slave dev */
53
- #define I2C_SLAVE_TX_BUF_LEN (2*DATA_LENGTH) /*!<I2C slave tx buffer size */
54
- #define I2C_SLAVE_RX_BUF_LEN (2*DATA_LENGTH) /*!<I2C slave rx buffer size */
50
+ #define I2C_EXAMPLE_SLAVE_SCL_IO 26 /*!<gpio number for i2c slave clock */
51
+ #define I2C_EXAMPLE_SLAVE_SDA_IO 25 /*!<gpio number for i2c slave data */
52
+ #define I2C_EXAMPLE_SLAVE_NUM I2C_NUM_0 /*!<I2C port number for slave dev */
53
+ #define I2C_EXAMPLE_SLAVE_TX_BUF_LEN (2*DATA_LENGTH) /*!<I2C slave tx buffer size */
54
+ #define I2C_EXAMPLE_SLAVE_RX_BUF_LEN (2*DATA_LENGTH) /*!<I2C slave rx buffer size */
55
55
56
- #define I2C_MASTER_SCL_IO 19 /*!< gpio number for I2C master clock */
57
- #define I2C_MASTER_SDA_IO 18 /*!< gpio number for I2C master data */
58
- #define I2C_MASTER_NUM I2C_NUM_1 /*!< I2C port number for master dev */
59
- #define I2C_MASTER_TX_BUF_DISABLE 0 /*!< I2C master do not need buffer */
60
- #define I2C_MASTER_RX_BUF_DISABLE 0 /*!< I2C master do not need buffer */
61
- #define I2C_MASTER_FREQ_HZ 100000 /*!< I2C master clock frequency */
56
+ #define I2C_EXAMPLE_MASTER_SCL_IO 19 /*!< gpio number for I2C master clock */
57
+ #define I2C_EXAMPLE_MASTER_SDA_IO 18 /*!< gpio number for I2C master data */
58
+ #define I2C_EXAMPLE_MASTER_NUM I2C_NUM_1 /*!< I2C port number for master dev */
59
+ #define I2C_EXAMPLE_MASTER_TX_BUF_DISABLE 0 /*!< I2C master do not need buffer */
60
+ #define I2C_EXAMPLE_MASTER_RX_BUF_DISABLE 0 /*!< I2C master do not need buffer */
61
+ #define I2C_EXAMPLE_MASTER_FREQ_HZ 100000 /*!< I2C master clock frequency */
62
62
63
63
#define BH1750_SENSOR_ADDR 0x23 /*!< slave address for BH1750 sensor */
64
64
#define BH1750_CMD_START 0x23 /*!< Command to set measure mode */
@@ -81,7 +81,7 @@ xSemaphoreHandle print_mux;
81
81
* --------|--------------------------|----------------------|--------------------|------|
82
82
*
83
83
*/
84
- esp_err_t i2c_master_read_slave (i2c_port_t i2c_num , uint8_t * data_rd , size_t size )
84
+ static esp_err_t i2c_example_master_read_slave (i2c_port_t i2c_num , uint8_t * data_rd , size_t size )
85
85
{
86
86
if (size == 0 ) {
87
87
return ESP_OK ;
@@ -110,7 +110,7 @@ esp_err_t i2c_master_read_slave(i2c_port_t i2c_num, uint8_t* data_rd, size_t siz
110
110
* --------|---------------------------|----------------------|------|
111
111
*
112
112
*/
113
- esp_err_t i2c_master_write_slave (i2c_port_t i2c_num , uint8_t * data_wr , size_t size )
113
+ static esp_err_t i2c_example_master_write_slave (i2c_port_t i2c_num , uint8_t * data_wr , size_t size )
114
114
{
115
115
i2c_cmd_handle_t cmd = i2c_cmd_link_create ();
116
116
i2c_master_start (cmd );
@@ -135,7 +135,7 @@ esp_err_t i2c_master_write_slave(i2c_port_t i2c_num, uint8_t* data_wr, size_t si
135
135
* | start | slave_addr + rd_bit + ack | read 1 byte + ack | read 1 byte + nack | stop |
136
136
* --------|---------------------------|--------------------|--------------------|------|
137
137
*/
138
- esp_err_t i2c_master_sensor_test (i2c_port_t i2c_num , uint8_t * data_h , uint8_t * data_l )
138
+ static esp_err_t i2c_example_master_sensor_test (i2c_port_t i2c_num , uint8_t * data_h , uint8_t * data_l )
139
139
{
140
140
i2c_cmd_handle_t cmd = i2c_cmd_link_create ();
141
141
i2c_master_start (cmd );
@@ -166,42 +166,46 @@ esp_err_t i2c_master_sensor_test(i2c_port_t i2c_num, uint8_t* data_h, uint8_t* d
166
166
/**
167
167
* @brief i2c master initialization
168
168
*/
169
- void i2c_master_init ()
169
+ static void i2c_example_master_init ()
170
170
{
171
- int i2c_master_port = I2C_MASTER_NUM ;
171
+ int i2c_master_port = I2C_EXAMPLE_MASTER_NUM ;
172
172
i2c_config_t conf ;
173
173
conf .mode = I2C_MODE_MASTER ;
174
- conf .sda_io_num = I2C_MASTER_SDA_IO ;
174
+ conf .sda_io_num = I2C_EXAMPLE_MASTER_SDA_IO ;
175
175
conf .sda_pullup_en = GPIO_PULLUP_ENABLE ;
176
- conf .scl_io_num = I2C_MASTER_SCL_IO ;
176
+ conf .scl_io_num = I2C_EXAMPLE_MASTER_SCL_IO ;
177
177
conf .scl_pullup_en = GPIO_PULLUP_ENABLE ;
178
- conf .master .clk_speed = I2C_MASTER_FREQ_HZ ;
178
+ conf .master .clk_speed = I2C_EXAMPLE_MASTER_FREQ_HZ ;
179
179
i2c_param_config (i2c_master_port , & conf );
180
- i2c_driver_install (i2c_master_port , conf .mode , I2C_MASTER_RX_BUF_DISABLE , I2C_MASTER_TX_BUF_DISABLE , 0 );
180
+ i2c_driver_install (i2c_master_port , conf .mode ,
181
+ I2C_EXAMPLE_MASTER_RX_BUF_DISABLE ,
182
+ I2C_EXAMPLE_MASTER_TX_BUF_DISABLE , 0 );
181
183
}
182
184
183
185
/**
184
186
* @brief i2c slave initialization
185
187
*/
186
- void i2c_slave_init ()
188
+ static void i2c_example_slave_init ()
187
189
{
188
- int i2c_slave_port = I2C_SLAVE_NUM ;
190
+ int i2c_slave_port = I2C_EXAMPLE_SLAVE_NUM ;
189
191
i2c_config_t conf_slave ;
190
- conf_slave .sda_io_num = I2C_SLAVE_SDA_IO ;
192
+ conf_slave .sda_io_num = I2C_EXAMPLE_SLAVE_SDA_IO ;
191
193
conf_slave .sda_pullup_en = GPIO_PULLUP_ENABLE ;
192
- conf_slave .scl_io_num = I2C_SLAVE_SCL_IO ;
194
+ conf_slave .scl_io_num = I2C_EXAMPLE_SLAVE_SCL_IO ;
193
195
conf_slave .scl_pullup_en = GPIO_PULLUP_ENABLE ;
194
196
conf_slave .mode = I2C_MODE_SLAVE ;
195
197
conf_slave .slave .addr_10bit_en = 0 ;
196
198
conf_slave .slave .slave_addr = ESP_SLAVE_ADDR ;
197
199
i2c_param_config (i2c_slave_port , & conf_slave );
198
- i2c_driver_install (i2c_slave_port , conf_slave .mode , I2C_SLAVE_RX_BUF_LEN , I2C_SLAVE_TX_BUF_LEN , 0 );
200
+ i2c_driver_install (i2c_slave_port , conf_slave .mode ,
201
+ I2C_EXAMPLE_SLAVE_RX_BUF_LEN ,
202
+ I2C_EXAMPLE_SLAVE_TX_BUF_LEN , 0 );
199
203
}
200
204
201
205
/**
202
206
* @brief test function to show buffer
203
207
*/
204
- void disp_buf (uint8_t * buf , int len )
208
+ static void disp_buf (uint8_t * buf , int len )
205
209
{
206
210
int i ;
207
211
for (i = 0 ; i < len ; i ++ ) {
@@ -213,7 +217,7 @@ void disp_buf(uint8_t* buf, int len)
213
217
printf ("\n" );
214
218
}
215
219
216
- void i2c_test_task (void * arg )
220
+ static void i2c_test_task (void * arg )
217
221
{
218
222
int i = 0 ;
219
223
int ret ;
@@ -224,7 +228,7 @@ void i2c_test_task(void* arg)
224
228
uint8_t sensor_data_h , sensor_data_l ;
225
229
226
230
while (1 ) {
227
- ret = i2c_master_sensor_test ( I2C_MASTER_NUM , & sensor_data_h , & sensor_data_l );
231
+ ret = i2c_example_master_sensor_test ( I2C_EXAMPLE_MASTER_NUM , & sensor_data_h , & sensor_data_l );
228
232
xSemaphoreTake (print_mux , portMAX_DELAY );
229
233
printf ("*******************\n" );
230
234
printf ("TASK[%d] MASTER READ SENSOR( BH1750 )\n" , task_idx );
@@ -243,12 +247,12 @@ void i2c_test_task(void* arg)
243
247
for (i = 0 ; i < DATA_LENGTH ; i ++ ) {
244
248
data [i ] = i ;
245
249
}
246
- size_t d_size = i2c_slave_write_buffer (I2C_SLAVE_NUM , data , RW_TEST_LENGTH , 1000 / portTICK_RATE_MS );
250
+ size_t d_size = i2c_slave_write_buffer (I2C_EXAMPLE_SLAVE_NUM , data , RW_TEST_LENGTH , 1000 / portTICK_RATE_MS );
247
251
if (d_size == 0 ) {
248
252
printf ("i2c slave tx buffer full\n" );
249
- ret = i2c_master_read_slave ( I2C_MASTER_NUM , data_rd , DATA_LENGTH );
253
+ ret = i2c_example_master_read_slave ( I2C_EXAMPLE_MASTER_NUM , data_rd , DATA_LENGTH );
250
254
} else {
251
- ret = i2c_master_read_slave ( I2C_MASTER_NUM , data_rd , RW_TEST_LENGTH );
255
+ ret = i2c_example_master_read_slave ( I2C_EXAMPLE_MASTER_NUM , data_rd , RW_TEST_LENGTH );
252
256
}
253
257
xSemaphoreTake (print_mux , portMAX_DELAY );
254
258
printf ("*******************\n" );
@@ -270,9 +274,9 @@ void i2c_test_task(void* arg)
270
274
data_wr [i ] = i + 10 ;
271
275
}
272
276
//we need to fill the slave buffer so that master can read later
273
- ret = i2c_master_write_slave ( I2C_MASTER_NUM , data_wr , RW_TEST_LENGTH );
277
+ ret = i2c_example_master_write_slave ( I2C_EXAMPLE_MASTER_NUM , data_wr , RW_TEST_LENGTH );
274
278
if (ret == ESP_OK ) {
275
- size = i2c_slave_read_buffer ( I2C_SLAVE_NUM , data , RW_TEST_LENGTH , 1000 / portTICK_RATE_MS );
279
+ size = i2c_slave_read_buffer ( I2C_EXAMPLE_SLAVE_NUM , data , RW_TEST_LENGTH , 1000 / portTICK_RATE_MS );
276
280
}
277
281
xSemaphoreTake (print_mux , portMAX_DELAY );
278
282
printf ("*******************\n" );
@@ -294,8 +298,8 @@ void i2c_test_task(void* arg)
294
298
void app_main ()
295
299
{
296
300
print_mux = xSemaphoreCreateMutex ();
297
- i2c_slave_init ();
298
- i2c_master_init ();
301
+ i2c_example_slave_init ();
302
+ i2c_example_master_init ();
299
303
300
304
xTaskCreate (i2c_test_task , "i2c_test_task_0" , 1024 * 2 , (void * ) 0 , 10 , NULL );
301
305
xTaskCreate (i2c_test_task , "i2c_test_task_1" , 1024 * 2 , (void * ) 1 , 10 , NULL );
0 commit comments