示例#1
0
simple_float* ds18b20_read_temperature_all(void) {
	uint8_t i = 0;
	simple_float *temperatures;
	temperatures = malloc(one_wire_devices_list_size * sizeof(simple_float));

	for (i = 0; i < one_wire_devices_list_size; ++i) {
		temperatures[i] = ds18b20_read_temperature(one_wire_list_of_devices[i]);
	}
	return temperatures;
}
int
temp_sensor_driver_soil_b_runner()
{
    int soil_temperature_b;

    /* This is P8X32A P10, QuickStart J1_11 & Vegimeter TS1 DQ */
    uint8_t pin = 10; /* QuickStart board */
    /* uint8_t pin = 2; */ /* DEMO Board */
    int err = 0;

    if ((err = ds18b20_read_temperature(pin, &soil_temperature_b)))
    {
        printf("Temperature sensor on pin %d error: %d\n", pin, err);
    }

    return soil_temperature_b;
}
示例#3
0
文件: main.c 项目: sheinz/esp-gizmo
void health_state(void *pvParameters)
{
    ds18b20_addr_t temp_sensor_addr;

    int sensor_count = ds18b20_scan_devices(SENSOR_GPIO, &temp_sensor_addr, 1);
    if (sensor_count != 1) {
        printf("No sensors found on one wire bus\n");
        vTaskDelete(NULL);
        return;
    }

    while (1) {
        if (!ds18b20_measure(SENSOR_GPIO, temp_sensor_addr, /*wait=*/false)) {
            printf("Measurement error\n");
        }
        vTaskDelay(1000 / portTICK_PERIOD_MS);
        float temp = ds18b20_read_temperature(SENSOR_GPIO, temp_sensor_addr);
        printf("Temperature: %f\n", temp);
        vTaskDelay(5000 / portTICK_PERIOD_MS);
    }
}