main/task_user.h

Sat, 14 Mar 2020 13:07:02 +0100

author
Michiel Broek <mbroek@mbse.eu>
date
Sat, 14 Mar 2020 13:07:02 +0100
changeset 47
1ab1f4a8c328
parent 44
e52d11b8f252
permissions
-rw-r--r--

Version 0.2.2 Changed to use a permanent network and WiFi connection. Removed three mainloop stages. Removed MQTT sequence counter that was not used. Update WiFi rssi status during eacht measure cycle. Changed FreeRTOS schedulng to 500 Hz.

/**
 * @file task_user.h
 * @brief The FreeRTOS task to run the user interface.
 */

#ifndef	_TASK_USER_H
#define	_TASK_USER_H


#define PIN_SDA                 (CONFIG_I2C_MASTER_SDA)			///< GPIO pin for I2C SDA
#define PIN_SCL                 (CONFIG_I2C_MASTER_SCL)			///< GPIO pin for I2C SCL
#define ROT_ENC_A_GPIO          (CONFIG_ROT_ENC_A_GPIO)			///< GPIO pin for rotary encoder A
#define ROT_ENC_B_GPIO          (CONFIG_ROT_ENC_B_GPIO)			///< GPIO pin for rotary encoder B
#define ROT_ENC_SW_GPIO         (CONFIG_ROT_ENC_SW_GPIO)		///< GPIO pin for rotary encoder pushbutton
#define INACTIVITY              240                                     ///< User inactivity time

#define EDIT_TYPE_TEXT          0                                       ///< Editor type is text, special chars and digits.
#define	EDIT_TYPE_CAPS		1					///< Editor alpha capitals, some specials and digits.
#define EDIT_TYPE_INT           2                                       ///< Editor type is integer
#define EDIT_TYPE_FLOAT         3                                       ///< Editor type is float



/**
 * @brief Called after a power on or hard reset.
 */
void user_cold(void);


/**
 * @brief Refresh screens that are in focus.
 */
void user_refresh(void);


/**
 * @brief Test is user interface is busy and active
 * @return Returns true if the user interface is active, false otherwise.
 */
bool user_busy(void);



/**
 * @brief Write messages on the screen during binary update.
 * @param m1 Message 1 or NULL.
 * @param m2 Message 2 or NULL.
 */
void screen_updating(char *m1, char *m2);



/**
 * @brief The FreeRTOS task to run the user interface.
 * @param pvParameters Parameters for the task.
 */
void task_user(void *pvParameters);


#endif

mercurial