mirror of https://github.com/arendst/Tasmota.git
Merge branch 'development' into pre-release-9.3.0
This commit is contained in:
commit
e7a27893b3
|
@ -84,6 +84,26 @@ jobs:
|
|||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-bluetooth:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v1
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -U platformio
|
||||
platformio upgrade --dev
|
||||
platformio update
|
||||
- name: Run PlatformIO
|
||||
run: |
|
||||
platformio run -e tasmota32-bluetooth
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-minimal:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
|
|
@ -824,6 +824,26 @@ jobs:
|
|||
path: ./build_output
|
||||
|
||||
|
||||
tasmota32-bluetooth:
|
||||
needs: tasmota_pull
|
||||
runs-on: ubuntu-latest
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v1
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
pip install -U platformio
|
||||
- name: Run PlatformIO
|
||||
run: |
|
||||
platformio run -e tasmota32-bluetooth
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
|
||||
tasmota32-knx:
|
||||
needs: tasmota_pull
|
||||
runs-on: ubuntu-latest
|
||||
|
@ -1442,6 +1462,7 @@ jobs:
|
|||
[ ! -f ./mv_firmware/firmware/tasmota32-web*.* ] || mv ./mv_firmware/firmware/tasmota32-web*.* ./firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-odroidgo.* ] || mv ./mv_firmware/firmware/tasmota32-odroidgo.* ./firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-core2.* ] || mv ./mv_firmware/firmware/tasmota32-core2.* ./firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-bluetooth.* ] || mv ./mv_firmware/firmware/tasmota32-bluetooth.* ./firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-knx.* ] || mv ./mv_firmware/firmware/tasmota32-knx.* ./firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32* ] || mv ./mv_firmware/firmware/tasmota32* ./firmware/tasmota32/languages/
|
||||
[ ! -f ./mv_firmware/firmware/* ] || mv ./mv_firmware/firmware/* ./firmware/tasmota/languages/
|
||||
|
|
|
@ -824,6 +824,26 @@ jobs:
|
|||
path: ./build_output
|
||||
|
||||
|
||||
tasmota32-bluetooth:
|
||||
needs: tasmota_pull
|
||||
runs-on: ubuntu-latest
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v1
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
pip install -U platformio
|
||||
- name: Run PlatformIO
|
||||
run: |
|
||||
platformio run -e tasmota32-bluetooth
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
|
||||
tasmota32-knx:
|
||||
needs: tasmota_pull
|
||||
runs-on: ubuntu-latest
|
||||
|
@ -1442,6 +1462,7 @@ jobs:
|
|||
[ ! -f ./mv_firmware/firmware/tasmota32-web*.* ] || mv ./mv_firmware/firmware/tasmota32-web*.* ./firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-odroidgo.* ] || mv ./mv_firmware/firmware/tasmota32-odroidgo.* ./firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-core2.* ] || mv ./mv_firmware/firmware/tasmota32-core2.* ./firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-bluetooth.* ] || mv ./mv_firmware/firmware/tasmota32-bluetooth.* ./firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-knx.* ] || mv ./mv_firmware/firmware/tasmota32-knx.* ./firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32* ] || mv ./mv_firmware/firmware/tasmota32* ./firmware/tasmota32/languages/
|
||||
[ ! -f ./mv_firmware/firmware/* ] || mv ./mv_firmware/firmware/* ./firmware/tasmota/languages/
|
||||
|
|
|
@ -0,0 +1,754 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file font24.c
|
||||
* @author MCD Application Team
|
||||
* @version V1.0.0
|
||||
* @date 18-February-2014
|
||||
* @brief This file provides text font24 for STM32xx-EVAL's LCD driver.
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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 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 STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "fonts.h"
|
||||
#include <pgmspace.h>
|
||||
|
||||
const uint8_t Font24_Table_7seg [] PROGMEM =
|
||||
{
|
||||
// @0 ' ' (17 pixels wide)
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
|
||||
// @72 '!' (17 pixels wide)
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x03,0x80,0x00, // ###
|
||||
0x03,0x80,0x00, // ###
|
||||
0x03,0x80,0x00, // ###
|
||||
0x03,0x80,0x00, // ###
|
||||
0x03,0x80,0x00, // ###
|
||||
0x03,0x80,0x00, // ###
|
||||
0x03,0x80,0x00, // ###
|
||||
0x03,0x80,0x00, // ###
|
||||
0x03,0x80,0x00, // ###
|
||||
0x01,0x00,0x00, // #
|
||||
0x01,0x00,0x00, // #
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x03,0x80,0x00, // ###
|
||||
0x03,0x80,0x00, // ###
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
|
||||
// @144 '"' (17 pixels wide)
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x0e,0x70,0x00, // ### ###
|
||||
0x0e,0x70,0x00, // ### ###
|
||||
0x0e,0x70,0x00, // ### ###
|
||||
0x04,0x20,0x00, // # #
|
||||
0x04,0x20,0x00, // # #
|
||||
0x04,0x20,0x00, // # #
|
||||
0x04,0x20,0x00, // # #
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
|
||||
// @216 '#' (17 pixels wide)
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x06,0x60,0x00, // ## ##
|
||||
0x06,0x60,0x00, // ## ##
|
||||
0x06,0x60,0x00, // ## ##
|
||||
0x06,0x60,0x00, // ## ##
|
||||
0x06,0x60,0x00, // ## ##
|
||||
0x3f,0xf8,0x00, // ###########
|
||||
0x3f,0xf8,0x00, // ###########
|
||||
0x06,0x60,0x00, // ## ##
|
||||
0x0c,0xc0,0x00, // ## ##
|
||||
0x3f,0xf8,0x00, // ###########
|
||||
0x3f,0xf8,0x00, // ###########
|
||||
0x0c,0xc0,0x00, // ## ##
|
||||
0x0c,0xc0,0x00, // ## ##
|
||||
0x0c,0xc0,0x00, // ## ##
|
||||
0x0c,0xc0,0x00, // ## ##
|
||||
0x0c,0xc0,0x00, // ## ##
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
|
||||
// @288 '$' (17 pixels wide)
|
||||
0x00,0x00,0x00, //
|
||||
0x01,0x80,0x00, // ##
|
||||
0x01,0x80,0x00, // ##
|
||||
0x07,0xb0,0x00, // #### ##
|
||||
0x0f,0xf0,0x00, // ########
|
||||
0x18,0x70,0x00, // ## ###
|
||||
0x18,0x70,0x00, // ## ###
|
||||
0x1c,0x00,0x00, // ###
|
||||
0x0f,0x80,0x00, // #####
|
||||
0x07,0xe0,0x00, // ######
|
||||
0x00,0xf0,0x00, // ####
|
||||
0x18,0x30,0x00, // ## ##
|
||||
0x1c,0x30,0x00, // ### ##
|
||||
0x1c,0x70,0x00, // ### ###
|
||||
0x1f,0xe0,0x00, // ########
|
||||
0x1b,0xc0,0x00, // ## ####
|
||||
0x01,0x80,0x00, // ##
|
||||
0x01,0x80,0x00, // ##
|
||||
0x01,0x80,0x00, // ##
|
||||
0x01,0x80,0x00, // ##
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
|
||||
// @360 '%' (17 pixels wide)
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x07,0x80,0x00, // ####
|
||||
0x0f,0xc0,0x00, // ######
|
||||
0x1c,0xe0,0x00, // ### ###
|
||||
0x18,0x60,0x00, // ## ##
|
||||
0x18,0x60,0x00, // ## ##
|
||||
0x1c,0xe0,0x00, // ### ###
|
||||
0x0f,0xf8,0x00, // #########
|
||||
0x07,0xe0,0x00, // ######
|
||||
0x1f,0xf0,0x00, // #########
|
||||
0x07,0x38,0x00, // ### ###
|
||||
0x06,0x18,0x00, // ## ##
|
||||
0x06,0x18,0x00, // ## ##
|
||||
0x07,0x38,0x00, // ### ###
|
||||
0x03,0xf0,0x00, // ######
|
||||
0x01,0xe0,0x00, // ####
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
|
||||
// @432 '&' (17 pixels wide)
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x03,0xf0,0x00, // ######
|
||||
0x07,0xf0,0x00, // #######
|
||||
0x0c,0x60,0x00, // ## ##
|
||||
0x0c,0x00,0x00, // ##
|
||||
0x0c,0x00,0x00, // ##
|
||||
0x06,0x00,0x00, // ##
|
||||
0x07,0x00,0x00, // ###
|
||||
0x0f,0x9c,0x00, // ##### ###
|
||||
0x1d,0xfc,0x00, // ### #######
|
||||
0x18,0xf0,0x00, // ## ####
|
||||
0x18,0x70,0x00, // ## ###
|
||||
0x0f,0xfc,0x00, // ##########
|
||||
0x07,0xdc,0x00, // ##### ###
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
|
||||
// @504 ''' (17 pixels wide)
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x03,0x80,0x00, // ###
|
||||
0x03,0x80,0x00, // ###
|
||||
0x03,0x80,0x00, // ###
|
||||
0x01,0x00,0x00, // #
|
||||
0x01,0x00,0x00, // #
|
||||
0x01,0x00,0x00, // #
|
||||
0x01,0x00,0x00, // #
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
|
||||
// @576 '(' (17 pixels wide)
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x18,0x00, // ##
|
||||
0x00,0x38,0x00, // ###
|
||||
0x00,0x70,0x00, // ###
|
||||
0x00,0xf0,0x00, // ####
|
||||
0x00,0xe0,0x00, // ###
|
||||
0x00,0xe0,0x00, // ###
|
||||
0x01,0xc0,0x00, // ###
|
||||
0x01,0xc0,0x00, // ###
|
||||
0x01,0xc0,0x00, // ###
|
||||
0x01,0xc0,0x00, // ###
|
||||
0x01,0xc0,0x00, // ###
|
||||
0x01,0xc0,0x00, // ###
|
||||
0x00,0xe0,0x00, // ###
|
||||
0x00,0xe0,0x00, // ###
|
||||
0x00,0x70,0x00, // ###
|
||||
0x00,0x70,0x00, // ###
|
||||
0x00,0x38,0x00, // ###
|
||||
0x00,0x18,0x00, // ##
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
|
||||
// @648 ')' (17 pixels wide)
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x18,0x00,0x00, // ##
|
||||
0x1c,0x00,0x00, // ###
|
||||
0x0e,0x00,0x00, // ###
|
||||
0x0e,0x00,0x00, // ###
|
||||
0x07,0x00,0x00, // ###
|
||||
0x07,0x00,0x00, // ###
|
||||
0x03,0x80,0x00, // ###
|
||||
0x03,0x80,0x00, // ###
|
||||
0x03,0x80,0x00, // ###
|
||||
0x03,0x80,0x00, // ###
|
||||
0x03,0x80,0x00, // ###
|
||||
0x03,0x80,0x00, // ###
|
||||
0x07,0x00,0x00, // ###
|
||||
0x07,0x00,0x00, // ###
|
||||
0x0f,0x00,0x00, // ####
|
||||
0x0e,0x00,0x00, // ###
|
||||
0x1c,0x00,0x00, // ###
|
||||
0x18,0x00,0x00, // ##
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
|
||||
// @720 '*' (17 pixels wide)
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x01,0x80,0x00, // ##
|
||||
0x01,0x80,0x00, // ##
|
||||
0x01,0x80,0x00, // ##
|
||||
0x1d,0xb8,0x00, // ### ## ###
|
||||
0x1f,0xf8,0x00, // ##########
|
||||
0x07,0xe0,0x00, // ######
|
||||
0x03,0xc0,0x00, // ####
|
||||
0x03,0xc0,0x00, // ####
|
||||
0x06,0x60,0x00, // ## ##
|
||||
0x06,0x60,0x00, // ## ##
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
|
||||
// @792 '+' (17 pixels wide)
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x01,0x80,0x00, // ##
|
||||
0x01,0x80,0x00, // ##
|
||||
0x01,0x80,0x00, // ##
|
||||
0x01,0x80,0x00, // ##
|
||||
0x01,0x80,0x00, // ##
|
||||
0x3f,0xfc,0x00, // ############
|
||||
0x3f,0xfc,0x00, // ############
|
||||
0x01,0x80,0x00, // ##
|
||||
0x01,0x80,0x00, // ##
|
||||
0x01,0x80,0x00, // ##
|
||||
0x01,0x80,0x00, // ##
|
||||
0x01,0x80,0x00, // ##
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
|
||||
// @864 ',' (17 pixels wide)
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0xe0,0x00, // ###
|
||||
0x00,0xc0,0x00, // ##
|
||||
0x01,0xc0,0x00, // ###
|
||||
0x01,0x80,0x00, // ##
|
||||
0x01,0x80,0x00, // ##
|
||||
0x03,0x00,0x00, // ##
|
||||
0x03,0x00,0x00, // ##
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
|
||||
// @936 '-' (17 pixels wide)
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x1f,0xf8,0x00, // ##########
|
||||
0x1f,0xf8,0x00, // ##########
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
|
||||
// @1008 '.' (17 pixels wide)
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x03,0xc0,0x00, // ####
|
||||
0x03,0xc0,0x00, // ####
|
||||
0x03,0xc0,0x00, // ####
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
|
||||
// @1080 '/' (17 pixels wide)
|
||||
0x00,0x18,0x00, // ##
|
||||
0x00,0x18,0x00, // ##
|
||||
0x00,0x38,0x00, // ###
|
||||
0x00,0x30,0x00, // ##
|
||||
0x00,0x70,0x00, // ###
|
||||
0x00,0x60,0x00, // ##
|
||||
0x00,0x60,0x00, // ##
|
||||
0x00,0xc0,0x00, // ##
|
||||
0x00,0xc0,0x00, // ##
|
||||
0x01,0x80,0x00, // ##
|
||||
0x01,0x80,0x00, // ##
|
||||
0x03,0x00,0x00, // ##
|
||||
0x03,0x00,0x00, // ##
|
||||
0x06,0x00,0x00, // ##
|
||||
0x06,0x00,0x00, // ##
|
||||
0x0e,0x00,0x00, // ###
|
||||
0x0c,0x00,0x00, // ##
|
||||
0x1c,0x00,0x00, // ###
|
||||
0x18,0x00,0x00, // ##
|
||||
0x18,0x00,0x00, // ##
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
|
||||
// @0 ' ' (17 pixels wide)
|
||||
0x00,0x00,0x00, //
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x00,0x00,0x00, //
|
||||
|
||||
// @0 ' ' (17 pixels wide)
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
|
||||
// @0 ' ' (17 pixels wide)
|
||||
0x00,0x00,0x00, //
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x18,0x00,0x00, // ##
|
||||
0x18,0x00,0x00, // ##
|
||||
0x18,0x00,0x00, // ##
|
||||
0x18,0x00,0x00, // ##
|
||||
0x18,0x00,0x00, // ##
|
||||
0x18,0x00,0x00, // ##
|
||||
0x18,0x00,0x00, // ##
|
||||
0x18,0x00,0x00, // ##
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x00,0x00,0x00, //
|
||||
|
||||
// @0 ' ' (17 pixels wide)
|
||||
0x00,0x00,0x00, //
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x00,0x00,0x00, //
|
||||
|
||||
// @0 ' ' (17 pixels wide)
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
|
||||
// @0 ' ' (17 pixels wide)
|
||||
0x00,0x00,0x00, //
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x18,0x00,0x00, // ##
|
||||
0x18,0x00,0x00, // ##
|
||||
0x18,0x00,0x00, // ##
|
||||
0x18,0x00,0x00, // ##
|
||||
0x18,0x00,0x00, // ##
|
||||
0x18,0x00,0x00, // ##
|
||||
0x18,0x00,0x00, // ##
|
||||
0x18,0x00,0x00, // ##
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x00,0x00,0x00, //
|
||||
|
||||
// @0 ' ' (17 pixels wide)
|
||||
0x00,0x00,0x00, //
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x18,0x00,0x00, // ##
|
||||
0x18,0x00,0x00, // ##
|
||||
0x18,0x00,0x00, // ##
|
||||
0x18,0x00,0x00, // ##
|
||||
0x18,0x00,0x00, // ##
|
||||
0x18,0x00,0x00, // ##
|
||||
0x18,0x00,0x00, // ##
|
||||
0x18,0x00,0x00, // ##
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x0f,0xfc,0x00, // ##########
|
||||
0x0f,0xfc,0x00, // ##########
|
||||
0x00,0x00,0x00, //
|
||||
|
||||
// @0 ' ' (17 pixels wide)
|
||||
0x00,0x00,0x00, //
|
||||
0x0f,0xfc,0x00, // ##########
|
||||
0x0f,0xfc,0x00, // ##########
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
|
||||
// @0 ' ' (17 pixels wide)
|
||||
0x00,0x00,0x00, //
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x00,0x00,0x00, //
|
||||
|
||||
// @0 ' ' (17 pixels wide)
|
||||
0x00,0x00,0x00, //
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x18,0x03,0x00, // ## ##
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x07,0xfc,0x00, // #########
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x03,0x00, // ##
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
|
||||
// @1872 ':' (17 pixels wide)
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0xf0,0x00, // ####
|
||||
0x00,0xf0,0x00, // ####
|
||||
0x00,0xf0,0x00, // ####
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0xf0,0x00, // ####
|
||||
0x00,0xf0,0x00, // ####
|
||||
0x00,0xf0,0x00, // ####
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00, //
|
||||
0x00,0x00,0x00 //
|
||||
};
|
||||
|
||||
sFONT Font24_7seg = {
|
||||
Font24_Table_7seg,
|
||||
17, /* Width */
|
||||
24, /* Height */
|
||||
};
|
||||
|
||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
|
||||
|
|
@ -51,8 +51,6 @@
|
|||
/* Includes ------------------------------------------------------------------*/
|
||||
#include <stdint.h>
|
||||
|
||||
#define USE_TINY_FONT
|
||||
|
||||
typedef struct _tFont
|
||||
{
|
||||
const uint8_t *table;
|
||||
|
@ -66,6 +64,7 @@ extern sFONT Font20;
|
|||
extern sFONT Font16;
|
||||
extern sFONT Font12;
|
||||
extern sFONT Font8;
|
||||
extern sFONT Font24_7seg;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -31,10 +31,7 @@
|
|||
//#define USE_ALL_EPD_FONTS
|
||||
//#define USE_GFX_FONTS
|
||||
#define USE_TINY_FONT
|
||||
|
||||
#ifdef ESP32
|
||||
#define USE_ICON_FONT
|
||||
#endif
|
||||
#define USE_7SEG_FONT
|
||||
|
||||
uint8_t wr_redir=0;
|
||||
|
||||
|
@ -247,6 +244,11 @@ void Renderer::setTextFont(uint8_t f) {
|
|||
selected_font = &Font24;
|
||||
#endif
|
||||
break;
|
||||
case 4:
|
||||
#ifdef USE_7SEG_FONT
|
||||
selected_font = &Font24_7seg;
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
selected_font = &Font12;
|
||||
break;
|
||||
|
|
|
@ -27,6 +27,7 @@ default_envs =
|
|||
; tasmota-zbbridge
|
||||
; tasmota-ir
|
||||
; tasmota32
|
||||
; tasmota32-bluetooth
|
||||
; tasmota32-webcam
|
||||
; tasmota32-minimal
|
||||
; tasmota32-lite
|
||||
|
|
|
@ -58,6 +58,11 @@ board_build.partitions = esp32_partition_app1984k_spiffs12M.csv
|
|||
build_flags = ${common32.build_flags} -DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue -DFIRMWARE_M5STACK_CORE2
|
||||
lib_extra_dirs = lib/libesp32, lib/lib_basic, lib/lib_i2c, lib/lib_rf, lib/lib_div, lib/lib_ssl, lib/lib_display, lib/lib_audio
|
||||
|
||||
[env:tasmota32-bluetooth]
|
||||
extends = env:tasmota32
|
||||
build_flags = ${common32.build_flags} -DFIRMWARE_BLUETOOTH
|
||||
lib_extra_dirs = lib/libesp32, lib/lib_basic, lib/lib_i2c, lib/lib_ssl
|
||||
|
||||
[env:tasmota32-minimal]
|
||||
extends = env:tasmota32
|
||||
build_flags = ${common32.build_flags} -DFIRMWARE_MINIMAL
|
||||
|
|
|
@ -117,6 +117,29 @@
|
|||
#endif // USE_SCRIPT
|
||||
#endif // FIRMWARE_M5STACK_CORE2
|
||||
|
||||
/*********************************************************************************************\
|
||||
* [tasmota32-bluetooth.bin]
|
||||
* Provide an image with BLE support
|
||||
\*********************************************************************************************/
|
||||
|
||||
#ifdef FIRMWARE_BLUETOOTH
|
||||
|
||||
#undef CODE_IMAGE_STR
|
||||
#define CODE_IMAGE_STR "bluetooth"
|
||||
|
||||
#undef MODULE
|
||||
#define MODULE WEMOS // [Module] Select default module from tasmota_template.h
|
||||
#undef FALLBACK_MODULE
|
||||
#define FALLBACK_MODULE WEMOS // [Module2] Select default module on fast reboot where USER_MODULE is user template
|
||||
|
||||
#define USE_UFILESYS
|
||||
#define USE_SDCARD
|
||||
#define GUI_TRASH_FILE
|
||||
#define USE_ADC
|
||||
#define USE_BLE_ESP32 // Enable new BLE driver
|
||||
#define USE_MI_ESP32 // (ESP32 only) Add support for ESP32 as a BLE-bridge (+9k2 mem, +292k flash)
|
||||
#endif // FIRMWARE_BLUETOOTH
|
||||
|
||||
#endif // ESP32
|
||||
|
||||
#endif // _TASMOTA_CONFIGURATIONS_ESP32_H_
|
||||
|
|
|
@ -2379,6 +2379,7 @@ const uint8_t kModuleNiceList[] PROGMEM = {
|
|||
#endif // USE_M5STACK_CORE2
|
||||
};
|
||||
|
||||
// !!! Update this list in the same order as kModuleNiceList !!!
|
||||
const char kModuleNames[] PROGMEM =
|
||||
"ESP32-DevKit|"
|
||||
#ifdef USE_WEBCAM
|
||||
|
@ -2401,6 +2402,7 @@ const char kModuleNames[] PROGMEM =
|
|||
#endif // USE_M5STACK_CORE2
|
||||
;
|
||||
|
||||
// !!! Update this list in the same order as SupportedModules !!!
|
||||
const mytmplt kModules[] PROGMEM = {
|
||||
{ // WEMOS - Espressif ESP32-DevKitC - Any ESP32 device like WeMos and NodeMCU hardware (ESP32)
|
||||
AGPIO(GPIO_USER), // 0 (I)O GPIO0, ADC2_CH1, TOUCH1, RTC_GPIO11, CLK_OUT1, EMAC_TX_CLK
|
||||
|
|
|
@ -2828,58 +2828,62 @@ void CmndRgbwwTable(void)
|
|||
|
||||
void CmndFade(void)
|
||||
{
|
||||
// Fade - Show current Fade state
|
||||
// Fade 0 - Turn Fade Off
|
||||
// Fade On - Turn Fade On
|
||||
// Fade Toggle - Toggle Fade state
|
||||
switch (XdrvMailbox.payload) {
|
||||
case 0: // Off
|
||||
case 1: // On
|
||||
Settings.light_fade = XdrvMailbox.payload;
|
||||
break;
|
||||
case 2: // Toggle
|
||||
Settings.light_fade ^= 1;
|
||||
break;
|
||||
if (2 == XdrvMailbox.index) {
|
||||
// Home Assistant backwards compatibility, can be removed mid 2021
|
||||
} else {
|
||||
// Fade - Show current Fade state
|
||||
// Fade 0 - Turn Fade Off
|
||||
// Fade On - Turn Fade On
|
||||
// Fade Toggle - Toggle Fade state
|
||||
switch (XdrvMailbox.payload) {
|
||||
case 0: // Off
|
||||
case 1: // On
|
||||
Settings.light_fade = XdrvMailbox.payload;
|
||||
break;
|
||||
case 2: // Toggle
|
||||
Settings.light_fade ^= 1;
|
||||
break;
|
||||
}
|
||||
#ifdef USE_DEVICE_GROUPS
|
||||
if (XdrvMailbox.payload >= 0 && XdrvMailbox.payload <= 2) SendDeviceGroupMessage(Light.device, DGR_MSGTYP_UPDATE, DGR_ITEM_LIGHT_FADE, Settings.light_fade);
|
||||
#endif // USE_DEVICE_GROUPS
|
||||
if (!Settings.light_fade) { Light.fade_running = false; }
|
||||
}
|
||||
#ifdef USE_DEVICE_GROUPS
|
||||
if (XdrvMailbox.payload >= 0 && XdrvMailbox.payload <= 2) SendDeviceGroupMessage(Light.device, DGR_MSGTYP_UPDATE, DGR_ITEM_LIGHT_FADE, Settings.light_fade);
|
||||
#endif // USE_DEVICE_GROUPS
|
||||
if (!Settings.light_fade) { Light.fade_running = false; }
|
||||
ResponseCmndStateText(Settings.light_fade);
|
||||
}
|
||||
|
||||
void CmndSpeed(void)
|
||||
{
|
||||
if (XdrvMailbox.index == 2) {
|
||||
if (2 == XdrvMailbox.index) {
|
||||
if ((XdrvMailbox.payload >= 0) && (XdrvMailbox.payload <= 40)) {
|
||||
Light.fade_once_enabled = true;
|
||||
Light.fade_once_value = XdrvMailbox.payload > 0;
|
||||
Light.fade_once_value = (XdrvMailbox.payload > 0);
|
||||
Light.speed_once_enabled = true;
|
||||
Light.speed_once_value = XdrvMailbox.payload;
|
||||
if (!Light.fade_once_value) { Light.fade_running = false; }
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// Speed 1 - Fast
|
||||
// Speed 40 - Very slow
|
||||
// Speed + - Increment Speed
|
||||
// Speed - - Decrement Speed
|
||||
if (1 == XdrvMailbox.data_len) {
|
||||
if (('+' == XdrvMailbox.data[0]) && (Settings.light_speed > 1)) {
|
||||
XdrvMailbox.payload = Settings.light_speed - 1;
|
||||
ResponseCmndNumber(Light.speed_once_value);
|
||||
} else {
|
||||
// Speed 1 - Fast
|
||||
// Speed 40 - Very slow
|
||||
// Speed + - Increment Speed
|
||||
// Speed - - Decrement Speed
|
||||
if (1 == XdrvMailbox.data_len) {
|
||||
if (('+' == XdrvMailbox.data[0]) && (Settings.light_speed > 1)) {
|
||||
XdrvMailbox.payload = Settings.light_speed - 1;
|
||||
}
|
||||
else if (('-' == XdrvMailbox.data[0]) && (Settings.light_speed < 40)) {
|
||||
XdrvMailbox.payload = Settings.light_speed + 1;
|
||||
}
|
||||
}
|
||||
else if (('-' == XdrvMailbox.data[0]) && (Settings.light_speed < 40)) {
|
||||
XdrvMailbox.payload = Settings.light_speed + 1;
|
||||
}
|
||||
}
|
||||
if ((XdrvMailbox.payload > 0) && (XdrvMailbox.payload <= 40)) {
|
||||
Settings.light_speed = XdrvMailbox.payload;
|
||||
if ((XdrvMailbox.payload > 0) && (XdrvMailbox.payload <= 40)) {
|
||||
Settings.light_speed = XdrvMailbox.payload;
|
||||
#ifdef USE_DEVICE_GROUPS
|
||||
SendDeviceGroupMessage(Light.device, DGR_MSGTYP_UPDATE, DGR_ITEM_LIGHT_SPEED, Settings.light_speed);
|
||||
SendDeviceGroupMessage(Light.device, DGR_MSGTYP_UPDATE, DGR_ITEM_LIGHT_SPEED, Settings.light_speed);
|
||||
#endif // USE_DEVICE_GROUPS
|
||||
}
|
||||
ResponseCmndNumber(Settings.light_speed);
|
||||
}
|
||||
ResponseCmndNumber(Settings.light_speed);
|
||||
}
|
||||
|
||||
void CmndWakeupDuration(void)
|
||||
|
|
|
@ -4317,6 +4317,23 @@ int16_t Run_script_sub(const char *type, int8_t tlen, struct GVARS *gv) {
|
|||
WSContentFlush();
|
||||
goto next_line;
|
||||
}
|
||||
else if (!strncmp(lp, "rapp", 3)) {
|
||||
lp+=4;
|
||||
// skip one space after cmd
|
||||
char tmp[256];
|
||||
Replace_Cmd_Vars(lp ,1 , tmp, sizeof(tmp));
|
||||
ResponseAppend_P(PSTR("%s"), tmp);
|
||||
goto next_line;
|
||||
}
|
||||
#ifdef USE_SENDMAIL
|
||||
else if (!strncmp(lp, "sm", 2)) {
|
||||
lp+=3;
|
||||
char tmp[256];
|
||||
Replace_Cmd_Vars(lp ,1 , tmp, sizeof(tmp));
|
||||
SendMail(tmp);
|
||||
goto next_line;
|
||||
}
|
||||
#endif
|
||||
else if (!strncmp(lp,"=>",2) || !strncmp(lp,"->",2) || !strncmp(lp,"+>",2) || !strncmp(lp,"print",5)) {
|
||||
// execute cmd
|
||||
uint8_t sflag = 0,pflg = 0,svmqtt,swll;
|
||||
|
@ -7192,8 +7209,13 @@ void ScriptJsonAppend(void) {
|
|||
}
|
||||
if (*lp!=';') {
|
||||
// send this line to mqtt
|
||||
Replace_Cmd_Vars(lp, 1, tmp, sizeof(tmp));
|
||||
ResponseAppend_P(PSTR("%s"), tmp);
|
||||
if (!strncmp(lp, "%=#", 3)) {
|
||||
// subroutine
|
||||
lp = scripter_sub(lp + 1, 0);
|
||||
} else {
|
||||
Replace_Cmd_Vars(lp, 1, tmp, sizeof(tmp));
|
||||
ResponseAppend_P(PSTR("%s"), tmp);
|
||||
}
|
||||
}
|
||||
if (*lp==SCRIPT_EOL) {
|
||||
lp++;
|
||||
|
|
|
@ -318,6 +318,24 @@ int StrCmpNoCase(char const *Str1, char const *Str2) // Compare case sensistive
|
|||
}
|
||||
}
|
||||
|
||||
float TuyaAdjustedTemperature(uint16_t packetValue, uint8_t res)
|
||||
{
|
||||
switch (res)
|
||||
{
|
||||
case 1:
|
||||
return (float)packetValue / 10.0;
|
||||
break;
|
||||
case 2:
|
||||
return (float)packetValue / 100.0;
|
||||
break;
|
||||
case 3:
|
||||
return (float)packetValue / 1000.0;
|
||||
break;
|
||||
default:
|
||||
return (float)packetValue;
|
||||
break;
|
||||
}
|
||||
}
|
||||
/*********************************************************************************************\
|
||||
* Internal Functions
|
||||
\*********************************************************************************************/
|
||||
|
@ -732,7 +750,7 @@ void TuyaProcessStatePacket(void) {
|
|||
} else { res = Settings.flag2.temperature_resolution; }
|
||||
GetTextIndexed(sname, sizeof(sname), (fnId-71), kTuyaSensors);
|
||||
ResponseClear(); // Clear retained message
|
||||
Response_P(PSTR("{\"TuyaSNS\":{\"%s\":%s}}"), sname, dtostrfd(packetValue, res, tempval)); // sensor update is just on change
|
||||
Response_P(PSTR("{\"TuyaSNS\":{\"%s\":%s}}"), sname, dtostrfd(TuyaAdjustedTemperature(packetValue, res), res, tempval)); // sensor update is just on change
|
||||
MqttPublishPrefixTopicRulesProcess_P(TELE, PSTR(D_CMND_SENSOR));
|
||||
}
|
||||
}
|
||||
|
@ -1295,7 +1313,7 @@ void TuyaSensorsShow(bool json)
|
|||
|
||||
GetTextIndexed(sname, sizeof(sname), (sensor-71), kTuyaSensors);
|
||||
ResponseAppend_P(PSTR("\"%s\":%s"), sname,
|
||||
(Tuya.SensorsValid[sensor-71] ? dtostrfd(Tuya.Sensors[sensor-71], res, tempval) : PSTR("null")));
|
||||
(Tuya.SensorsValid[sensor-71] ? dtostrfd(TuyaAdjustedTemperature(Tuya.Sensors[sensor-71], res), res, tempval) : PSTR("null")));
|
||||
added = true;
|
||||
}
|
||||
#ifdef USE_WEBSERVER
|
||||
|
@ -1303,11 +1321,11 @@ void TuyaSensorsShow(bool json)
|
|||
if (TuyaGetDpId(sensor) != 0) {
|
||||
switch (sensor) {
|
||||
case 71:
|
||||
WSContentSend_Temp("", Tuya.Sensors[0]);
|
||||
WSContentSend_Temp("", TuyaAdjustedTemperature(Tuya.Sensors[0], Settings.flag2.temperature_resolution));
|
||||
break;
|
||||
case 72:
|
||||
WSContentSend_PD(PSTR("{s}" D_TEMPERATURE " Set{m}%s " D_UNIT_DEGREE "%c{e}"),
|
||||
dtostrfd(Tuya.Sensors[1], Settings.flag2.temperature_resolution, tempval), TempUnit());
|
||||
dtostrfd(TuyaAdjustedTemperature(Tuya.Sensors[1], Settings.flag2.temperature_resolution), Settings.flag2.temperature_resolution, tempval), TempUnit());
|
||||
break;
|
||||
case 73:
|
||||
WSContentSend_PD(HTTP_SNS_HUM, "", dtostrfd(Tuya.Sensors[2], Settings.flag2.temperature_resolution, tempval));
|
||||
|
|
|
@ -1419,9 +1419,8 @@ void SML_Decode(uint8_t index) {
|
|||
}
|
||||
} else {
|
||||
// compare value
|
||||
uint8_t found=1, use_uval = 1;
|
||||
uint32_t ebus_uval=99;
|
||||
float ebus_dval;
|
||||
uint8_t found=1;
|
||||
double ebus_dval=99;
|
||||
float mbus_dval=99;
|
||||
while (*mp!='@') {
|
||||
if (meter_desc_p[mindex].type=='o' || meter_desc_p[mindex].type=='c') {
|
||||
|
@ -1445,19 +1444,18 @@ void SML_Decode(uint8_t index) {
|
|||
cp++;
|
||||
} else if (!strncmp(mp,"UUuuUUuu",8)) {
|
||||
uint32_t val= (cp[0]<<24)|(cp[1]<<16)|(cp[2]<<8)|(cp[3]<<0);
|
||||
ebus_uval=val;
|
||||
ebus_dval=val;
|
||||
mbus_dval=val;
|
||||
mp+=8;
|
||||
cp+=4;
|
||||
} else if (*mp=='U' && *(mp+1)=='U' && *(mp+2)=='u' && *(mp+3)=='u'){
|
||||
uint16_t val = cp[1]|(cp[0]<<8);
|
||||
mbus_dval=val;
|
||||
ebus_uval=val;
|
||||
ebus_dval=val;
|
||||
mp+=4;
|
||||
cp+=2;
|
||||
} else if (!strncmp(mp,"SSssSSss",8)) {
|
||||
int32_t val= (cp[0]<<24)|(cp[1]<<16)|(cp[2]<<8)|(cp[3]<<0);
|
||||
use_uval = 0;
|
||||
ebus_dval=val;
|
||||
mbus_dval=val;
|
||||
mp+=8;
|
||||
|
@ -1465,25 +1463,23 @@ void SML_Decode(uint8_t index) {
|
|||
} else if (*mp=='u' && *(mp+1)=='u' && *(mp+2)=='U' && *(mp+3)=='U'){
|
||||
uint16_t val = cp[0]|(cp[1]<<8);
|
||||
mbus_dval=val;
|
||||
ebus_uval=val;
|
||||
ebus_dval=val;
|
||||
mp+=4;
|
||||
cp+=2;
|
||||
} else if (*mp=='u' && *(mp+1)=='u') {
|
||||
uint8_t val = *cp++;
|
||||
mbus_dval=val;
|
||||
ebus_uval=val;
|
||||
ebus_dval=val;
|
||||
mp+=2;
|
||||
} else if (*mp=='s' && *(mp+1)=='s' && *(mp+2)=='S' && *(mp+3)=='S') {
|
||||
int16_t val = *cp|(*(cp+1)<<8);
|
||||
mbus_dval=val;
|
||||
use_uval = 0;
|
||||
ebus_dval=val;
|
||||
mp+=4;
|
||||
cp+=2;
|
||||
} else if (*mp=='S' && *(mp+1)=='S' && *(mp+2)=='s' && *(mp+3)=='s') {
|
||||
int16_t val = cp[1]|(cp[0]<<8);
|
||||
mbus_dval=val;
|
||||
use_uval = 0;
|
||||
ebus_dval=val;
|
||||
mp+=4;
|
||||
cp+=2;
|
||||
|
@ -1491,14 +1487,12 @@ void SML_Decode(uint8_t index) {
|
|||
else if (*mp=='s' && *(mp+1)=='s') {
|
||||
int8_t val = *cp++;
|
||||
mbus_dval=val;
|
||||
use_uval = 0;
|
||||
ebus_dval=val;
|
||||
mp+=2;
|
||||
}
|
||||
else if (!strncmp(mp,"ffffffff",8)) {
|
||||
uint32_t val= (cp[0]<<24)|(cp[1]<<16)|(cp[2]<<8)|(cp[3]<<0);
|
||||
float *fp=(float*)&val;
|
||||
use_uval = 0;
|
||||
ebus_dval=*fp;
|
||||
mbus_dval=*fp;
|
||||
mp+=8;
|
||||
|
@ -1508,7 +1502,6 @@ void SML_Decode(uint8_t index) {
|
|||
// reverse word float
|
||||
uint32_t val= (cp[1]<<0)|(cp[0]<<8)|(cp[3]<<16)|(cp[2]<<24);
|
||||
float *fp=(float*)&val;
|
||||
use_uval = 0;
|
||||
ebus_dval=*fp;
|
||||
mbus_dval=*fp;
|
||||
mp+=8;
|
||||
|
@ -1588,9 +1581,9 @@ void SML_Decode(uint8_t index) {
|
|||
// ebus pzem or mbus or raw
|
||||
if (*mp=='b') {
|
||||
mp++;
|
||||
uint8_t shift=*mp&7;
|
||||
ebus_uval>>=shift;
|
||||
ebus_uval&=1;
|
||||
uint8_t shift = *mp&7;
|
||||
ebus_dval = (uint32_t)ebus_dval>>shift;
|
||||
ebus_dval = (uint32_t)ebus_dval&1;
|
||||
mp+=2;
|
||||
}
|
||||
if (*mp=='i') {
|
||||
|
@ -1613,8 +1606,6 @@ void SML_Decode(uint8_t index) {
|
|||
uint8_t crc = SML_PzemCrc(&smltbuf[mindex][0],6);
|
||||
if (crc!=smltbuf[mindex][6]) goto nextsect;
|
||||
dval=mbus_dval;
|
||||
} else if (use_uval) {
|
||||
dval=ebus_uval;
|
||||
} else {
|
||||
dval=ebus_dval;
|
||||
}
|
||||
|
|
|
@ -53,7 +53,7 @@ struct EZOStruct {
|
|||
{
|
||||
// Transmit our command verbatim
|
||||
Wire.beginTransmission(addr);
|
||||
Wire.write(cmd, len);
|
||||
Wire.write((uint8_t*)cmd, len);
|
||||
if (Wire.endTransmission() != 0) {
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue