zephyr/samples/display/grove_display
Andy Ross 32bb2395c2 timeout: Fix up API usage
Kernel timeouts have always been a 32 bit integer despite the
existence of generation macros, and existing code has been
inconsistent about using them.  Upcoming commits are going to make the
timeout arguments opaque, so fix things up to be rigorously correct.
Changes include:

+ Adding a K_TIMEOUT_EQ() macro for code that needs to compare timeout
  values for equality (e.g. with K_FOREVER or K_NO_WAIT).

+ Adding a k_msleep() synonym for k_sleep() which can continue to take
  integral arguments as k_sleep() moves away to timeout arguments.

+ Pervasively using the K_MSEC(), K_SECONDS(), et. al. macros to
  generate timeout arguments.

+ Removing the usage of K_NO_WAIT as the final argument to
  K_THREAD_DEFINE().  This is just a count of milliseconds and we need
  to use a zero.

This patch include no logic changes and should not affect generated
code at all.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2020-03-31 19:40:47 -04:00
..
src
CMakeLists.txt
README.rst
prj.conf
sample.yaml

README.rst

.. _grove-lcd-sample:

Grove LCD
#########

Overview
********

This sample displays an incrementing counter through the Grove LCD, with
changing backlight.

Requirements
************

To use this sample, the following hardware is required:

* A board with ADC support
* `Grove LCD module`_
* `Grove Base Shield`_ [Optional]

Wiring
******

You will need to connect the Grove LCD via the Grove shield onto a board that
supports Arduino shields.

On some boards you will need to use 2 pull-up resistors (10k Ohm) between the
SCL/SDA lines and 3.3V.

Take note that even though SDA and SCL are connected to a 3.3V power source, the
Grove LCD VDD line needs to be connected to the 5V power line, otherwise
characters will not be displayed on the LCD (3.3V is enough to power just the
backlight).


Building and Running
********************

This sample should work on any board that has I2C enabled and has an Arduino
shield interface. For example, it can be run on the FRDM K64F board as
described below:

.. zephyr-app-commands::
   :zephyr-app: samples/display/grove_display
   :board: frdm_k64f
   :goals: flash
   :compact:

.. _Grove Base Shield: http://wiki.seeedstudio.com/wiki/Grove_-_Base_Shield
.. _Grove LCD module: http://wiki.seeed.cc/Grove-LCD_RGB_Backlight/