Merge pull request #17375 from aabadie/pr/drivers/ztimer_ter

drivers: several cleanups related to xtimer + some ztimer migration
This commit is contained in:
Alexandre Abadie 2021-12-12 15:45:08 +01:00 committed by GitHub
commit 7b2ab7d734
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
39 changed files with 86 additions and 59 deletions

View File

@ -10,5 +10,7 @@ config MODULE_AD7746
depends on HAS_PERIPH_I2C
depends on TEST_KCONFIG
select MODULE_PERIPH_I2C
select MODULE_ZTIMER
select MODULE_ZTIMER_MSEC
help
AD7746 Capacitance-to-digital converter with temperature sensor driver.

View File

@ -1 +1,3 @@
FEATURES_REQUIRED += periph_i2c
USEMODULE += ztimer
USEMODULE += ztimer_msec

View File

@ -20,6 +20,8 @@
#include <assert.h>
#include "ztimer.h"
#include "ad7746.h"
#include "ad7746_params.h"
#include "ad7746_internal.h"
@ -30,8 +32,6 @@
#define ENABLE_DEBUG 0
#include "debug.h"
#include "xtimer.h"
#define DEV (dev->params.i2c)
#define ADDR (dev->params.addr)
@ -382,7 +382,7 @@ static int _read_voltage_temp(ad7746_t *dev, int *value, ad7746_vt_mode_t mode)
/* if a mode change is needed wait for a conversion cycle and flush
* the first sample in order to get a stable output. Took from the Linux
* driver implementation */
xtimer_msleep(_vt_sr_times[dev->params.vt_sample_rate]);
ztimer_sleep(ZTIMER_MSEC, _vt_sr_times[dev->params.vt_sample_rate]);
_read_raw_ch(dev, AD7746_READ_VT_CH, &raw);
}

View File

@ -23,7 +23,7 @@
#include "byteorder.h"
#include "mutex.h"
#include "timex.h"
#include "xtimer.h"
#include "ztimer.h"
#include "lis2dh12.h"
#include "lis2dh12_internal.h"
@ -595,8 +595,8 @@ int lis2dh12_read_temperature(const lis2dh12_t *dev, int16_t *temp)
if (!_read(dev, REG_TEMP_CFG_REG)) {
uint8_t odr = _read(dev, REG_CTRL_REG1) >> 4;
_write(dev, REG_TEMP_CFG_REG, LIS2DH12_TEMP_CFG_REG_ENABLE);
if (IS_USED(MODULE_XTIMER)) {
xtimer_msleep(MS_PER_SEC / hz_per_dr[odr]);
if (IS_USED(MODULE_ZTIMER)) {
ztimer_sleep(ZTIMER_MSEC, MS_PER_SEC / hz_per_dr[odr]);
}
}

View File

@ -10,7 +10,6 @@ config MODULE_LIS3MDL
depends on HAS_PERIPH_I2C
depends on TEST_KCONFIG
select MODULE_PERIPH_I2C
select MODULE_XTIMER
config HAVE_LIS3MDL
bool

View File

@ -1,2 +1 @@
FEATURES_REQUIRED += periph_i2c
USEMODULE += xtimer

View File

@ -26,6 +26,8 @@ config MODULE_PN532
bool
select MODULE_PERIPH_GPIO
select MODULE_PERIPH_GPIO_IRQ
select MODULE_ZTIMER
select MODULE_ZTIMER_MSEC
endmenu # PN532 NFC reader

View File

@ -1,2 +1,5 @@
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_gpio_irq
USEMODULE += ztimer
USEMODULE += ztimer_msec

View File

@ -22,7 +22,7 @@
#include "assert.h"
#include "kernel_defines.h"
#include "xtimer.h"
#include "ztimer.h"
#include "mutex.h"
#include "pn532.h"
#include "periph/gpio.h"
@ -63,8 +63,8 @@
/* Constants and magic numbers */
#define MIFARE_CLASSIC_BLOCK_SIZE (16)
#define RESET_TOGGLE_SLEEP (400000)
#define RESET_BACKOFF (10000)
#define RESET_TOGGLE_SLEEP_MS (400)
#define RESET_BACKOFF_MS (10)
#define HOST_TO_PN532 (0xD4)
#define PN532_TO_HOST (0xD5)
#define SPI_DATA_WRITE (0x80)
@ -104,9 +104,9 @@ void pn532_reset(const pn532_t *dev)
DEBUG("pn532: reset\n");
gpio_clear(dev->conf->reset);
xtimer_usleep(RESET_TOGGLE_SLEEP);
ztimer_sleep(ZTIMER_MSEC, RESET_TOGGLE_SLEEP_MS);
gpio_set(dev->conf->reset);
xtimer_usleep(RESET_BACKOFF);
ztimer_sleep(ZTIMER_MSEC, RESET_BACKOFF_MS);
}
int pn532_init(pn532_t *dev, const pn532_params_t *params, pn532_mode_t mode)

View File

@ -12,4 +12,3 @@ config MODULE_PULSE_COUNTER
depends on TEST_KCONFIG
select MODULE_PERIPH_GPIO
select MODULE_PERIPH_GPIO_IRQ
select MODULE_XTIMER

View File

@ -1,2 +1 @@
USEMODULE += xtimer
FEATURES_REQUIRED += periph_gpio_irq

View File

@ -11,4 +11,3 @@ config MODULE_SHTC1
depends on TEST_KCONFIG
select MODULE_PERIPH_I2C
select MODULE_CHECKSUM
select MODULE_XTIMER

View File

@ -1,3 +1,2 @@
FEATURES_REQUIRED += periph_i2c
USEMODULE += xtimer
USEMODULE += checksum

View File

@ -21,7 +21,6 @@
#include "checksum/crc8.h"
#include "sps30.h"
#include "xtimer.h"
#include "byteorder.h"
#include "kernel_defines.h"

View File

@ -15,5 +15,3 @@ endif
ifneq (,$(filter ws281x_atmega,$(USEMODULE)))
FEATURES_REQUIRED += cpu_core_atmega
endif
USEMODULE += xtimer

View File

@ -1,6 +1,7 @@
include ../Makefile.tests_common
USEMODULE += ad7746
USEMODULE += xtimer
USEMODULE += ztimer
USEMODULE += ztimer_msec
include $(RIOTBASE)/Makefile.include

View File

@ -1,4 +1,5 @@
# this file enables modules defined in Kconfig. Do not use this file for
# application configuration. This is only needed during migration.
CONFIG_MODULE_AD7746=y
CONFIG_MODULE_XTIMER=y
CONFIG_MODULE_ZTIMER=y
CONFIG_MODULE_ZTIMER_MSEC=y

View File

@ -20,12 +20,12 @@
#include <stdio.h>
#include "xtimer.h"
#include "ztimer.h"
#include "timex.h"
#include "ad7746.h"
#include "ad7746_params.h"
#define SLEEP_USEC (1000 * US_PER_MS)
#define SLEEP_MS (MS_PER_SEC)
static ad7746_t dev;
@ -84,7 +84,7 @@ int main(void)
printf("Error reading internal temperature\n");
}
puts("");
xtimer_usleep(SLEEP_USEC);
ztimer_sleep(ZTIMER_MSEC, SLEEP_MS);
}
return 0;

View File

@ -4,7 +4,8 @@ include ../Makefile.tests_common
DRIVER ?= lis2dh12_spi
USEMODULE += fmt
USEMODULE += xtimer
USEMODULE += ztimer
USEMODULE += ztimer_msec
USEMODULE += shell
USEMODULE += shell_commands
USEMODULE += $(DRIVER)

View File

@ -1,7 +1,8 @@
# this file enables modules defined in Kconfig. Do not use this file for
# application configuration. This is only needed during migration.
CONFIG_MODULE_FMT=y
CONFIG_MODULE_XTIMER=y
CONFIG_MODULE_ZTIMER=y
CONFIG_MODULE_ZTIMER_MSEC=y
CONFIG_MODULE_SHELL=y
CONFIG_MODULE_SHELL_COMMANDS=y
CONFIG_MODULE_LIS2DH12=y

View File

@ -23,7 +23,6 @@
#include <string.h>
#include <stdlib.h>
#include <limits.h>
#include "xtimer.h"
#include "fmt.h"
#include "thread.h"
#include "shell.h"

View File

@ -2,6 +2,7 @@ BOARD ?= limifrog-v1
include ../Makefile.tests_common
USEMODULE += lis3mdl
USEMODULE += xtimer
USEMODULE += ztimer
USEMODULE += ztimer_msec
include $(RIOTBASE)/Makefile.include

View File

@ -1,4 +1,5 @@
# this file enables modules defined in Kconfig. Do not use this file for
# application configuration. This is only needed during migration.
CONFIG_MODULE_LIS3MDL=y
CONFIG_MODULE_XTIMER=y
CONFIG_MODULE_ZTIMER=y
CONFIG_MODULE_ZTIMER_MSEC=y

View File

@ -21,11 +21,12 @@
#include <stdio.h>
#include "xtimer.h"
#include "timex.h"
#include "ztimer.h"
#include "lis3mdl.h"
#include "lis3mdl_params.h"
#define SLEEP_USEC (800 * 800U)
#define SLEEP_MS (640U)
int main(void)
{
@ -54,7 +55,7 @@ int main(void)
lis3mdl_read_temp(&dev, &temp_value);
printf("Temperature:\t\t%i°C\n", temp_value);
xtimer_usleep(SLEEP_USEC);
ztimer_sleep(ZTIMER_MSEC, SLEEP_MS);
}
return 0;

View File

@ -1,6 +1,7 @@
include ../Makefile.tests_common
USEMODULE += xtimer
USEMODULE += ztimer
USEMODULE += ztimer_msec
# select if you want to build the SPI or the I2C version of the driver:
USEMODULE += pn532_i2c

View File

@ -0,0 +1,3 @@
BOARD_INSUFFICIENT_MEMORY := \
nucleo-l011k4 \
#

View File

@ -5,4 +5,5 @@
CONFIG_MODULE_PN532_I2C=y
# CONFIG_MODULE_PN532_SPI=y
CONFIG_MODULE_XTIMER=y
CONFIG_MODULE_ZTIMER=y
CONFIG_MODULE_ZTIMER_MSEC=y

View File

@ -22,7 +22,7 @@
#include "pn532.h"
#include "pn532_params.h"
#include "xtimer.h"
#include "ztimer.h"
#define LOG_LEVEL LOG_INFO
#include "log.h"
@ -53,7 +53,7 @@ int main(void)
LOG_INFO("init error %d\n", ret);
}
xtimer_usleep(200000);
ztimer_sleep(ZTIMER_MSEC, 200);
LOG_INFO("awake\n");
uint32_t fwver;
@ -65,7 +65,7 @@ int main(void)
while (1) {
/* Delay not to be always polling the interface */
xtimer_usleep(250000UL);
ztimer_sleep(ZTIMER_MSEC, 250);
ret = pn532_get_passive_iso14443a(&pn532, &card, 0x50);
if (ret < 0) {

View File

@ -4,4 +4,7 @@ BOARD_BLACKLIST := msb-430 msb-430h telosb z1
USEMODULE += pulse_counter
USEMODULE += ztimer
USEMODULE += ztimer_msec
include $(RIOTBASE)/Makefile.include

View File

@ -1,3 +1,5 @@
# this file enables modules defined in Kconfig. Do not use this file for
# application configuration. This is only needed during migration.
CONFIG_MODULE_PULSE_COUNTER=y
CONFIG_MODULE_ZTIMER=y
CONFIG_MODULE_ZTIMER_MSEC=y

View File

@ -20,10 +20,11 @@
#include <stdio.h>
#include "xtimer.h"
#include "timex.h"
#include "ztimer.h"
#include "pulse_counter_params.h"
#define SLEEP_USEC US_PER_SEC
#define SLEEP_MS MS_PER_SEC
int main(void)
{
@ -45,7 +46,7 @@ int main(void)
int16_t count = pulse_counter_read_with_reset(&dev);
printf("pulse counter: %d\n", count);
xtimer_usleep(SLEEP_USEC);
ztimer_sleep(ZTIMER_MSEC, SLEEP_MS);
}
return 0;

View File

@ -3,6 +3,8 @@ include ../Makefile.tests_common
DRIVER ?= shtc1
USEMODULE += fmt
USEMODULE += ztimer
USEMODULE += ztimer_msec
USEMODULE += $(DRIVER)
include $(RIOTBASE)/Makefile.include

View File

@ -2,3 +2,5 @@
# application configuration. This is only needed during migration.
CONFIG_MODULE_FMT=y
CONFIG_MODULE_SHTC1=y
CONFIG_MODULE_ZTIMER=y
CONFIG_MODULE_ZTIMER_MSEC=y

View File

@ -21,10 +21,11 @@
#include <stdio.h>
#include <stdlib.h>
#include "timex.h"
#include "ztimer.h"
#include "fmt.h"
#include "shtc1.h"
#include "shtc1_params.h"
#include "xtimer.h"
#include "fmt.h"
int main(void)
{
@ -55,7 +56,7 @@ int main(void)
printf("Temperature [°C]: %s\n", str_temp);
printf(" Humidity [%%rH]: %s\n", str_hum);
xtimer_sleep(2);
ztimer_sleep(ZTIMER_MSEC, 2 * MS_PER_SEC);
}
return 0;
}

View File

@ -1,7 +1,8 @@
include ../Makefile.tests_common
USEMODULE += sps30
USEMODULE += xtimer
USEMODULE += ztimer
USEMODULE += ztimer_msec
CFLAGS+=-DPARAM_SPS30_I2C=I2C_DEV\(0\)
CFLAGS+=-DI2C0_SPEED=I2C_SPEED_NORMAL

View File

@ -1,4 +1,5 @@
# this file enables modules defined in Kconfig. Do not use this file for
# application configuration. This is only needed during migration.
CONFIG_MODULE_SPS30=y
CONFIG_MODULE_XTIMER=y
CONFIG_MODULE_ZTIMER=y
CONFIG_MODULE_ZTIMER_MSEC=y

View File

@ -18,15 +18,16 @@
#include <stdio.h>
#include <string.h>
#include "xtimer.h"
#include "timex.h"
#include "ztimer.h"
#include "sps30.h"
#include "sps30_params.h"
#define TEST_START_DELAY_S (2U)
#define SENSOR_RESET_DELAY_S (10U)
#define SENSOR_STARTUP_DELAY_S (10U)
#define SENSOR_SLEEP_WAKE_DELAY_S (5U)
#define POLL_FOR_READY_S (1U)
#define TEST_START_DELAY_MS (2 * MS_PER_SEC)
#define SENSOR_RESET_DELAY_MS (10 * MS_PER_SEC)
#define SENSOR_STARTUP_DELAY_MS (10 * MS_PER_SEC)
#define SENSOR_SLEEP_WAKE_DELAY_MS (5 * MS_PER_SEC)
#define POLL_FOR_READY_MS (1 * MS_PER_SEC)
#define NUM_OF_MEASUREMENTS (10U)
#define TYPE_MC_STR "MC PM"
@ -62,7 +63,7 @@ int main(void)
bool error = false;
unsigned cnt = NUM_OF_MEASUREMENTS;
xtimer_sleep(TEST_START_DELAY_S);
ztimer_sleep(ZTIMER_MSEC, TEST_START_DELAY_MS);
puts("SPS30 test application\n");
@ -87,7 +88,7 @@ int main(void)
error |= _print_error("start_fan_clean", ec);
/* wait long enough for the fan clean to be done and the fan to settle */
xtimer_sleep(2 * SPS30_FAN_CLEAN_S);
ztimer_sleep(ZTIMER_MSEC, 2 * SPS30_FAN_CLEAN_S);
/* read the currently set value from the sensor */
ec = sps30_read_ac_interval(&dev, &ci);
@ -101,23 +102,23 @@ int main(void)
ec = sps30_reset(&dev);
error |= _print_error("reset", ec);
xtimer_sleep(SENSOR_RESET_DELAY_S);
ztimer_sleep(ZTIMER_MSEC, SENSOR_RESET_DELAY_MS);
/* Put the sensor in sleep */
ec = sps30_sleep(&dev);
error |= _print_error("sleep", ec);
xtimer_sleep(SENSOR_SLEEP_WAKE_DELAY_S);
ztimer_sleep(ZTIMER_MSEC, SENSOR_SLEEP_WAKE_DELAY_MS);
/* Wake-up the sensor */
ec = sps30_wakeup(&dev);
error |= _print_error("wake-up", ec);
xtimer_sleep(SENSOR_SLEEP_WAKE_DELAY_S);
ztimer_sleep(ZTIMER_MSEC, SENSOR_SLEEP_WAKE_DELAY_MS);
/* start the sensor again again... */
ec = sps30_start_measurement(&dev);
error |= _print_error("start_measurement", ec);
xtimer_sleep(SENSOR_STARTUP_DELAY_S);
ztimer_sleep(ZTIMER_MSEC, SENSOR_STARTUP_DELAY_MS);
ec = sps30_read_ac_interval(&dev, &ci);
error |= _print_error("read_ac_interval", ec);
@ -141,7 +142,7 @@ int main(void)
cnt--; /* if errors happen, stop after NUM_OF_MEASUREMENTS */
}
/* try again after some time */
xtimer_sleep(POLL_FOR_READY_S);
ztimer_sleep(ZTIMER_MSEC, POLL_FOR_READY_MS);
continue;
}

View File

@ -6,6 +6,7 @@ PIN ?= GPIO_PIN(0, 0)
N ?= 8
USEMODULE += ws281x
USEMODULE += xtimer
# Only AVR boards CPU clocked at 8MHz or 16 MHz are supported. The Waspmote Pro
# is clocked at 14.7456 MHz :-/

View File

@ -1,3 +1,4 @@
# this file enables modules defined in Kconfig. Do not use this file for
# application configuration. This is only needed during migration.
CONFIG_MODULE_WS281X=y
CONFIG_MODULE_XTIMER=y