From 3061ecca3d0fdfb87dabbf5f63c9e06c2a30f53a Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Thu, 23 Aug 2018 17:08:59 +0200 Subject: o Initial import. --- .../components/drivers_ext/nrf6350/nrf6350.h | 154 +++++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 thirdparty/nRF5_SDK_15.0.0_a53641a/components/drivers_ext/nrf6350/nrf6350.h (limited to 'thirdparty/nRF5_SDK_15.0.0_a53641a/components/drivers_ext/nrf6350/nrf6350.h') diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/drivers_ext/nrf6350/nrf6350.h b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/drivers_ext/nrf6350/nrf6350.h new file mode 100644 index 0000000..09af87e --- /dev/null +++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/drivers_ext/nrf6350/nrf6350.h @@ -0,0 +1,154 @@ +/** + * Copyright (c) 2012 - 2018, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ +#ifndef NRF6350_H_ +#define NRF6350_H_ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define LCD_LLEN 16 //!< LCD Line length + +#define JS_BUTTON_NONE 0x00 //!< Joystick not touched +#define JS_BUTTON_LEFT 0x01 //!< joystick pulled left +#define JS_BUTTON_PUSH 0x02 //!< joystick pushed +#define JS_BUTTON_DOWN 0x04 //!< joystick pulled down +#define JS_BUTTON_UP 0x08 //!< joystick pulled up +#define JS_BUTTON_RIGHT 0x10 //!< joystick pulled right +#define LCD_UPPER_LINE 0x00 //!< LCD upper line +#define LCD_LOWER_LINE 0x40 //!< LCD lower line +#define LCD_CONTRAST_LOW 0x00 //!< LCD Low contrast +#define LCD_CONTRAST_MEDIUM 0x02 //!< LCD Medium contrast +#define LCD_CONTRAST_HIGH 0x08 //!< LCD High contrast + + +/** + * @brief Function for initializing the LCD display prior to writing. + * @return + * @retval true Operation succeeded + * @retval false Operation failed + */ +bool nrf6350_lcd_init(void); + +/** + * @brief Function for writing a text string on the LCD-display. + * + * @param p_text A pointer to the text string to be written + * @param size Size of the text string to be written + * @param line The line the text should be written to + * @param pos The start position of the text on the line + * @return + * @retval true Write succeeded + * @retval false Write failed + */ +bool nrf6350_lcd_write_string(const char *p_text, uint8_t size, uint8_t line, uint8_t pos); + +/** + * @brief Function for clearing the contents of the LCD-display. + * + * @return + * @retval true Operation succeeded + * @retval false Operation failed + */ +bool nrf6350_lcd_clear(void); + +/** + * @brief Function for adjusting the contrast of the LCD-display, select between + * LCD_CONTRAST_LOW, LCD_CONTRAST_MEDIUM and LCD_CONTRAST_HIGH. + * + * @param contrast The desired contrast of the lcd display + * @return + * @retval true Operation succeeded + * @retval false Operation failed + */ +bool nrf6350_lcd_set_contrast(uint8_t contrast); + +/** + * @brief Function for turning ON the LCD-display. + * + * @return + * @retval true Operation succeeded + * @retval false Operation failed + */ +bool nrf6350_lcd_on(void); + +/** + * @brief Function for turning OFF the LCD-display. + * + * @return + * @retval true Operation succeeded + * @retval false Operation failed + */ +bool nrf6350_lcd_off(void); + +/** + * @brief Function for getting the position of the joystick. + * + * @param val pointer to a 2 byte array where the X,Y position is stored + * @return + * @retval true Operation succeeded + * @retval false Operation failed + */ +bool nrf6350_js_get_value(int8_t *val); + +/** + * @brief Function for getting the status of the joystick. + * + * @param js_state pointer to a uint8_t that receives the status of the joystick + * @return + * @retval true Operation succeeded + * @retval false Operation failed + */ +bool nrf6350_js_get_status(uint8_t *js_state); + +/** @brief Function for transferring data over TWI bus. Used the first time you want to communicate nRF6350 to bypass a fail. + */ +bool nrf6350_lcd_wake_up(void); + + +#ifdef __cplusplus +} +#endif + +#endif // NRF6350_H_ +/** @} */ -- cgit v1.2.3