Skip to content

drivers/opt3001 : Expose Configurations to Kconfig #13934

Merged
leandrolanzieri merged 3 commits intoRIOT-OS:masterfrom
akshaim:Kconfig_opt3001
Apr 27, 2020
Merged

drivers/opt3001 : Expose Configurations to Kconfig #13934
leandrolanzieri merged 3 commits intoRIOT-OS:masterfrom
akshaim:Kconfig_opt3001

Conversation

@akshaim
Copy link
Copy Markdown
Member

@akshaim akshaim commented Apr 23, 2020

Contribution description

This PR exposes compile configurations in OPT3001 Sensor Device driver to Kconfig.

Testing procedure

New macro was introduced in tests/driver_opt3001/main.c for testing.

#define STR(x)   #x
#define SHOW_DEFINE(x) printf("%s=%s\n", #x, STR(x))

Firmware was uploaded to FIT IoT Lab test bed.

Default State:

Firmware Output

main(): This is RIOT! (Version: 2020.07-devel-185-g2e649-Kconfig_opt3001)
CONFIG_OPT3001_I2C_ADDRESS=(0x45)
CONFIG_OPT3001_CONVERSION_TIME=(0x0800)
OPT3001 test application

Initializing OPT3001 sensor at I2C_0 ... opt3001_init: Error reading device ID!
init device [ERROR]

Usage with CFLAGS

/tests/driver_opt3001/Makefile

CFLAGS += -DCONFIG_OPT3001_I2C_ADDRESS=0x44
CFLAGS += -DCONFIG_OPT3001_CONVERSION_TIME=OPT3001_CONVERSION_TIME_100_MS

Firmware Output

main(): This is RIOT! (Version: 2020.07-devel-185-g2e649-Kconfig_opt3001)
CONFIG_OPT3001_I2C_ADDRESS=(0x44)
CONFIG_OPT3001_CONVERSION_TIME=(0x0000)
OPT3001 test application

Initializing OPT3001 sensor at I2C_0 ... opt3001_init: Error reading device ID!
init device [ERROR]

Usage with Kconfig

/tests/driver_opt3001/

make menuconfig

Firmware Output

main(): This is RIOT! (Version: 2020.07-devel-185-g2e649-Kconfig_opt3001)
CONFIG_OPT3001_I2C_ADDRESS=0x47
CONFIG_OPT3001_CONVERSION_TIME=(0x0000)
OPT3001 test application

Initializing OPT3001 sensor at I2C_0 ... opt3001_init: Error reading device ID!
init device [ERROR]

Note : The sensor is not available for interfacing hence configurability of macros were only tested.

Issues/PRs references

#12888
@leandrolanzieri

@leandrolanzieri leandrolanzieri added this to the Release 2020.07 milestone Apr 24, 2020
@leandrolanzieri leandrolanzieri added Area: drivers Area: Device drivers Area: Kconfig Area: Kconfig integration Type: new feature The issue requests / The PR implemements a new feature for RIOT labels Apr 24, 2020
Copy link
Copy Markdown
Contributor

@leandrolanzieri leandrolanzieri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Just minor doc comments

@akshaim
Copy link
Copy Markdown
Member Author

akshaim commented Apr 24, 2020

Looks good. Just minor doc comments

Thanks for the comments

@leandrolanzieri leandrolanzieri added the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Apr 24, 2020
@cgundogan cgundogan added CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR and removed CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR labels Apr 24, 2020
@leandrolanzieri leandrolanzieri added Reviewed: 1-fundamentals The fundamentals of the PR were reviewed according to the maintainer guidelines Reviewed: 2-code-design The code design of the PR was reviewed according to the maintainer guidelines Reviewed: 3-testing The PR was tested according to the maintainer guidelines Reviewed: 4-code-style The adherence to coding conventions by the PR were reviewed according to the maintainer guidelines labels Apr 27, 2020
@leandrolanzieri
Copy link
Copy Markdown
Contributor

@akshaim please squash

@leandrolanzieri leandrolanzieri added the Reviewed: 5-documentation The documentation details of the PR were reviewed according to the maintainer guidelines label Apr 27, 2020
akshaim and others added 3 commits April 27, 2020 13:59
Add CONFIG_ prefix to compile time configurations
Define choices for macros.
Expose configurable parameters to Kconfig

Co-Authored-By: Leandro Lanzieri <leandro.lanzieri@haw-hamburg.de>
@akshaim
Copy link
Copy Markdown
Member Author

akshaim commented Apr 27, 2020

@akshaim please squash

Done. Thanks for the comments

Copy link
Copy Markdown
Contributor

@leandrolanzieri leandrolanzieri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK.

@leandrolanzieri leandrolanzieri merged commit 028dea2 into RIOT-OS:master Apr 27, 2020
@akshaim akshaim deleted the Kconfig_opt3001 branch May 4, 2020 12:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: drivers Area: Device drivers Area: Kconfig Area: Kconfig integration CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Reviewed: 1-fundamentals The fundamentals of the PR were reviewed according to the maintainer guidelines Reviewed: 2-code-design The code design of the PR was reviewed according to the maintainer guidelines Reviewed: 3-testing The PR was tested according to the maintainer guidelines Reviewed: 4-code-style The adherence to coding conventions by the PR were reviewed according to the maintainer guidelines Reviewed: 5-documentation The documentation details of the PR were reviewed according to the maintainer guidelines Type: new feature The issue requests / The PR implemements a new feature for RIOT

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants