1
0
Fork 0

2020 February 29 Breaking Changes Update (#8064)

This commit is contained in:
James Young 2020-02-29 12:00:00 -08:00
parent 85041ff05b
commit 26eef35f07
No known key found for this signature in database
GPG key ID: 06FAA77B63D48E80
362 changed files with 27772 additions and 8810 deletions

View file

@ -218,17 +218,11 @@ static const dacsample_t dac_buffer_2[DAC_BUFFER_SIZE] = {
/*
* DAC streaming callback.
*/
size_t nx = 0, ny = 0, nz = 0;
static void end_cb1(DACDriver *dacp, dacsample_t *buffer, size_t n) {
size_t nz = 0;
static void end_cb1(DACDriver *dacp) {
(void)dacp;
nz++;
if (dac_buffer == buffer) {
nx += n;
} else {
ny += n;
}
if ((nz % 1000) == 0) {
// palTogglePad(GPIOD, GPIOD_LED3);
}

View file

@ -22,12 +22,15 @@
# define TOIEx TOIE1
# if BACKLIGHT_PIN == B5
# define COMxx0 COM1A0
# define COMxx1 COM1A1
# define OCRxx OCR1A
# elif BACKLIGHT_PIN == B6
# define COMxx0 COM1B0
# define COMxx1 COM1B1
# define OCRxx OCR1B
# elif BACKLIGHT_PIN == B7
# define COMxx0 COM1C0
# define COMxx1 COM1C1
# define OCRxx OCR1C
# endif
@ -44,6 +47,7 @@
# if (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__))
# error This MCU has no C4 pin!
# else
# define COMxx0 COM3C0
# define COMxx1 COM3C1
# define OCRxx OCR3C
# endif
@ -51,10 +55,12 @@
# if (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__))
# error This MCU has no C5 pin!
# else
# define COMxx0 COM3B0
# define COMxx1 COM3B1
# define OCRxx OCR3B
# endif
# elif BACKLIGHT_PIN == C6
# define COMxx0 COM3A0
# define COMxx1 COM3A1
# define OCRxx OCR3A
# endif
@ -68,12 +74,15 @@
# define TOIEx TOIE1
# if BACKLIGHT_PIN == B7
# define COMxx0 COM1C0
# define COMxx1 COM1C1
# define OCRxx OCR1C
# elif BACKLIGHT_PIN == C5
# define COMxx0 COM1B0
# define COMxx1 COM1B1
# define OCRxx OCR1B
# elif BACKLIGHT_PIN == C6
# define COMxx0 COM1A0
# define COMxx1 COM1A1
# define OCRxx OCR1A
# endif
@ -87,9 +96,11 @@
# define TOIEx TOIE1
# if BACKLIGHT_PIN == D4
# define COMxx0 COM1B0
# define COMxx1 COM1B1
# define OCRxx OCR1B
# elif BACKLIGHT_PIN == D5
# define COMxx0 COM1A0
# define COMxx1 COM1A1
# define OCRxx OCR1A
# endif
@ -103,9 +114,11 @@
# define TOIEx TOIE1
# if BACKLIGHT_PIN == B1
# define COMxx0 COM1A0
# define COMxx1 COM1A1
# define OCRxx OCR1A
# elif BACKLIGHT_PIN == B2
# define COMxx0 COM1B0
# define COMxx1 COM1B1
# define OCRxx OCR1B
# endif
@ -156,22 +169,22 @@
# endif
# ifndef BACKLIGHT_ON_STATE
# define BACKLIGHT_ON_STATE 0
# define BACKLIGHT_ON_STATE 1
# endif
void backlight_on(pin_t backlight_pin) {
# if BACKLIGHT_ON_STATE == 0
writePinLow(backlight_pin);
# else
# if BACKLIGHT_ON_STATE == 1
writePinHigh(backlight_pin);
# else
writePinLow(backlight_pin);
# endif
}
void backlight_off(pin_t backlight_pin) {
# if BACKLIGHT_ON_STATE == 0
writePinHigh(backlight_pin);
# else
# if BACKLIGHT_ON_STATE == 1
writePinLow(backlight_pin);
# else
writePinHigh(backlight_pin);
# endif
}
@ -199,6 +212,22 @@ static const pin_t backlight_pins[BACKLIGHT_LED_COUNT] = BACKLIGHT_PIN_INIT;
# else // full hardware PWM
static inline void enable_pwm(void) {
# if BACKLIGHT_ON_STATE == 1
TCCRxA |= _BV(COMxx1);
# else
TCCRxA |= _BV(COMxx1) | _BV(COMxx0);
# endif
}
static inline void disable_pwm(void) {
# if BACKLIGHT_ON_STATE == 1
TCCRxA &= ~(_BV(COMxx1));
# else
TCCRxA &= ~(_BV(COMxx1) | _BV(COMxx0));
# endif
}
// we support only one backlight pin
static const pin_t backlight_pin = BACKLIGHT_PIN;
# define FOR_EACH_LED(x) x
@ -309,12 +338,12 @@ void backlight_set(uint8_t level) {
if (OCRxx) {
TIMSKx &= ~(_BV(OCIExA));
TIMSKx &= ~(_BV(TOIEx));
FOR_EACH_LED(backlight_off(backlight_pin);)
}
# else
// Turn off PWM control on backlight pin
TCCRxA &= ~(_BV(COMxx1));
disable_pwm();
# endif
FOR_EACH_LED(backlight_off(backlight_pin);)
} else {
# ifdef BACKLIGHT_PWM_TIMER
if (!OCRxx) {
@ -323,7 +352,7 @@ void backlight_set(uint8_t level) {
}
# else
// Turn on PWM control of backlight pin
TCCRxA |= _BV(COMxx1);
enable_pwm();
# endif
}
// Set the brightness
@ -471,8 +500,13 @@ void backlight_init_ports(void) {
"In fast PWM mode, the compare units allow generation of PWM waveforms on the OCnx pins. Setting the COMnx1:0 bits to two will produce a non-inverted PWM [..]."
"In fast PWM mode the counter is incremented until the counter value matches either one of the fixed values 0x00FF, 0x01FF, or 0x03FF (WGMn3:0 = 5, 6, or 7), the value in ICRn (WGMn3:0 = 14), or the value in OCRnA (WGMn3:0 = 15)."
*/
TCCRxA = _BV(COMxx1) | _BV(WGM11); // = 0b00001010;
TCCRxB = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // = 0b00011001;
# if BACKLIGHT_ON_STATE == 1
TCCRxA = _BV(COMxx1) | _BV(WGM11);
# else
TCCRxA = _BV(COMxx1) | _BV(COMxx0) | _BV(WGM11);
# endif
TCCRxB = _BV(WGM13) | _BV(WGM12) | _BV(CS10);
# endif
// Use full 16-bit resolution. Counter counts to ICR1 before reset to 0.
ICRx = TIMER_TOP;

View file

@ -35,6 +35,13 @@
static pin_t encoders_pad_a[] = ENCODERS_PAD_A;
static pin_t encoders_pad_b[] = ENCODERS_PAD_B;
#ifndef ENCODER_DIRECTION_FLIP
# define ENCODER_CLOCKWISE true
# define ENCODER_COUNTER_CLOCKWISE false
#else
# define ENCODER_CLOCKWISE false
# define ENCODER_COUNTER_CLOCKWISE true
#endif
static int8_t encoder_LUT[] = {0, -1, 1, 0, 1, 0, 0, -1, -1, 0, 0, 1, 0, 1, -1, 0};
static uint8_t encoder_state[NUMBER_OF_ENCODERS] = {0};
@ -86,11 +93,11 @@ static void encoder_update(int8_t index, uint8_t state) {
encoder_pulses[i] += encoder_LUT[state & 0xF];
if (encoder_pulses[i] >= ENCODER_RESOLUTION) {
encoder_value[index]++;
encoder_update_kb(index, true);
encoder_update_kb(index, ENCODER_COUNTER_CLOCKWISE);
}
if (encoder_pulses[i] <= -ENCODER_RESOLUTION) { // direction is arbitrary here, but this clockwise
encoder_value[index]--;
encoder_update_kb(index, false);
encoder_update_kb(index, ENCODER_CLOCKWISE);
}
encoder_pulses[i] %= ENCODER_RESOLUTION;
}
@ -113,12 +120,12 @@ void encoder_update_raw(uint8_t* slave_state) {
while (delta > 0) {
delta--;
encoder_value[index]++;
encoder_update_kb(index, true);
encoder_update_kb(index, ENCODER_COUNTER_CLOCKWISE);
}
while (delta < 0) {
delta++;
encoder_value[index]--;
encoder_update_kb(index, false);
encoder_update_kb(index, ENCODER_CLOCKWISE);
}
}
}

View file

@ -139,26 +139,6 @@ action_t action_for_key(uint8_t layer, keypos_t key) {
mod = mod_config((keycode >> 0x8) & 0x1F);
action.code = ACTION_MODS_TAP_KEY(mod, keycode & 0xFF);
break;
#ifdef BACKLIGHT_ENABLE
case BL_ON:
action.code = ACTION_BACKLIGHT_ON();
break;
case BL_OFF:
action.code = ACTION_BACKLIGHT_OFF();
break;
case BL_DEC:
action.code = ACTION_BACKLIGHT_DECREASE();
break;
case BL_INC:
action.code = ACTION_BACKLIGHT_INCREASE();
break;
case BL_TOGG:
action.code = ACTION_BACKLIGHT_TOGGLE();
break;
case BL_STEP:
action.code = ACTION_BACKLIGHT_STEP();
break;
#endif
#ifdef SWAP_HANDS_ENABLE
case QK_SWAP_HANDS ... QK_SWAP_HANDS_MAX:
action.code = ACTION(ACT_SWAP_HANDS, keycode & 0xff);

View file

@ -0,0 +1,51 @@
/* Copyright 2019
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "process_backlight.h"
#include "backlight.h"
bool process_backlight(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
switch (keycode) {
case BL_ON:
backlight_level(BACKLIGHT_LEVELS);
return false;
case BL_OFF:
backlight_level(0);
return false;
case BL_DEC:
backlight_decrease();
return false;
case BL_INC:
backlight_increase();
return false;
case BL_TOGG:
backlight_toggle();
return false;
case BL_STEP:
backlight_step();
return false;
#ifdef BACKLIGHT_BREATHING
case BL_BRTG:
backlight_toggle_breathing();
return false;
#endif
}
}
return true;
}

View file

@ -0,0 +1,21 @@
/* Copyright 2019
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "quantum.h"
bool process_backlight(uint16_t keycode, keyrecord_t *record);

View file

@ -224,6 +224,9 @@ bool process_record_quantum(keyrecord_t *record) {
#ifdef AUDIO_ENABLE
process_audio(keycode, record) &&
#endif
#ifdef BACKLIGHT_ENABLE
process_backlight(keycode, record) &&
#endif
#ifdef STENO_ENABLE
process_steno(keycode, record) &&
#endif

View file

@ -88,6 +88,10 @@ extern layer_state_t layer_state;
# include "process_music.h"
#endif
#ifdef BACKLIGHT_ENABLE
# include "process_backlight.h"
#endif
#ifdef LEADER_ENABLE
# include "process_leader.h"
#endif

View file

@ -119,7 +119,7 @@ static THD_FUNCTION(serialThread, arg) {
eventflags_t flags1 = 0;
eventflags_t flags2 = 0;
if (need_wait) {
eventmask_t mask = chEvtWaitAnyTimeout(ALL_EVENTS, MS2ST(1000));
eventmask_t mask = chEvtWaitAnyTimeout(ALL_EVENTS, TIME_MS2I(1000));
if (mask & EVENT_MASK(1)) {
flags1 = chEvtGetAndClearFlags(&sd1_listener);
print_error("DOWNLINK", flags1, &SD1);
@ -192,7 +192,7 @@ void serial_link_update(void) {
systime_t current_time = chVTGetSystemTimeX();
systime_t delta = current_time - last_update;
if (changed || delta > US2ST(5000)) {
if (changed || delta > TIME_US2I(5000)) {
last_update = current_time;
last_matrix = matrix;
matrix_object_t* m = begin_write_keyboard_matrix();

View file

@ -1,5 +1,5 @@
/*
ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -15,7 +15,7 @@
*/
/**
* @file templates/chconf.h
* @file rt/templates/chconf.h
* @brief Configuration file template.
* @details A copy of this file must be placed in each project directory, it
* contains the application specific kernel settings.
@ -29,6 +29,7 @@
# define CHCONF_H
# define _CHIBIOS_RT_CONF_
# define _CHIBIOS_RT_CONF_VER_6_0_
/*===========================================================================*/
/**
@ -41,14 +42,34 @@
* @brief System time counter resolution.
* @note Allowed values are 16 or 32 bits.
*/
# define CH_CFG_ST_RESOLUTION 32
# if !defined(CH_CFG_ST_RESOLUTION)
# define CH_CFG_ST_RESOLUTION 32
# endif
/**
* @brief System tick frequency.
* @details Frequency of the system timer that drives the system ticks. This
* setting also defines the system tick time unit.
*/
# define CH_CFG_ST_FREQUENCY 100000
# if !defined(CH_CFG_ST_FREQUENCY)
# define CH_CFG_ST_FREQUENCY 100000
# endif
/**
* @brief Time intervals data size.
* @note Allowed values are 16, 32 or 64 bits.
*/
# if !defined(CH_CFG_INTERVALS_SIZE)
# define CH_CFG_INTERVALS_SIZE 32
# endif
/**
* @brief Time types data size.
* @note Allowed values are 16 or 32 bits.
*/
# if !defined(CH_CFG_TIME_TYPES_SIZE)
# define CH_CFG_TIME_TYPES_SIZE 32
# endif
/**
* @brief Time delta constant for the tick-less mode.
@ -58,7 +79,9 @@
* The value one is not valid, timeouts are rounded up to
* this value.
*/
# define CH_CFG_ST_TIMEDELTA 2
# if !defined(CH_CFG_ST_TIMEDELTA)
# define CH_CFG_ST_TIMEDELTA 2
# endif
/** @} */
@ -81,7 +104,9 @@
* @note The round robin preemption is not supported in tickless mode and
* must be set to zero in that case.
*/
# define CH_CFG_TIME_QUANTUM 0
# if !defined(CH_CFG_TIME_QUANTUM)
# define CH_CFG_TIME_QUANTUM 0
# endif
/**
* @brief Managed RAM size.
@ -94,7 +119,9 @@
* provide the @p __heap_base__ and @p __heap_end__ symbols.
* @note Requires @p CH_CFG_USE_MEMCORE.
*/
# define CH_CFG_MEMCORE_SIZE 0
# if !defined(CH_CFG_MEMCORE_SIZE)
# define CH_CFG_MEMCORE_SIZE 0
# endif
/**
* @brief Idle thread automatic spawn suppression.
@ -103,7 +130,9 @@
* function becomes the idle thread and must implement an
* infinite loop.
*/
# define CH_CFG_NO_IDLE_THREAD FALSE
# if !defined(CH_CFG_NO_IDLE_THREAD)
# define CH_CFG_NO_IDLE_THREAD FALSE
# endif
/** @} */
@ -122,7 +151,9 @@
* @note This is not related to the compiler optimization options.
* @note The default is @p TRUE.
*/
# define CH_CFG_OPTIMIZE_SPEED TRUE
# if !defined(CH_CFG_OPTIMIZE_SPEED)
# define CH_CFG_OPTIMIZE_SPEED TRUE
# endif
/** @} */
@ -140,7 +171,9 @@
*
* @note The default is @p TRUE.
*/
# define CH_CFG_USE_TM TRUE
# if !defined(CH_CFG_USE_TM)
# define CH_CFG_USE_TM TRUE
# endif
/**
* @brief Threads registry APIs.
@ -148,7 +181,9 @@
*
* @note The default is @p TRUE.
*/
# define CH_CFG_USE_REGISTRY TRUE
# if !defined(CH_CFG_USE_REGISTRY)
# define CH_CFG_USE_REGISTRY TRUE
# endif
/**
* @brief Threads synchronization APIs.
@ -157,7 +192,9 @@
*
* @note The default is @p TRUE.
*/
# define CH_CFG_USE_WAITEXIT TRUE
# if !defined(CH_CFG_USE_WAITEXIT)
# define CH_CFG_USE_WAITEXIT TRUE
# endif
/**
* @brief Semaphores APIs.
@ -165,7 +202,9 @@
*
* @note The default is @p TRUE.
*/
# define CH_CFG_USE_SEMAPHORES TRUE
# if !defined(CH_CFG_USE_SEMAPHORES)
# define CH_CFG_USE_SEMAPHORES TRUE
# endif
/**
* @brief Semaphores queuing mode.
@ -176,7 +215,9 @@
* requirements.
* @note Requires @p CH_CFG_USE_SEMAPHORES.
*/
# define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
# if !defined(CH_CFG_USE_SEMAPHORES_PRIORITY)
# define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
# endif
/**
* @brief Mutexes APIs.
@ -184,7 +225,9 @@
*
* @note The default is @p TRUE.
*/
# define CH_CFG_USE_MUTEXES TRUE
# if !defined(CH_CFG_USE_MUTEXES)
# define CH_CFG_USE_MUTEXES TRUE
# endif
/**
* @brief Enables recursive behavior on mutexes.
@ -194,7 +237,9 @@
* @note The default is @p FALSE.
* @note Requires @p CH_CFG_USE_MUTEXES.
*/
# define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
# if !defined(CH_CFG_USE_MUTEXES_RECURSIVE)
# define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
# endif
/**
* @brief Conditional Variables APIs.
@ -204,7 +249,9 @@
* @note The default is @p TRUE.
* @note Requires @p CH_CFG_USE_MUTEXES.
*/
# define CH_CFG_USE_CONDVARS TRUE
# if !defined(CH_CFG_USE_CONDVARS)
# define CH_CFG_USE_CONDVARS TRUE
# endif
/**
* @brief Conditional Variables APIs with timeout.
@ -214,7 +261,9 @@
* @note The default is @p TRUE.
* @note Requires @p CH_CFG_USE_CONDVARS.
*/
# define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
# if !defined(CH_CFG_USE_CONDVARS_TIMEOUT)
# define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
# endif
/**
* @brief Events Flags APIs.
@ -222,7 +271,9 @@
*
* @note The default is @p TRUE.
*/
# define CH_CFG_USE_EVENTS TRUE
# if !defined(CH_CFG_USE_EVENTS)
# define CH_CFG_USE_EVENTS TRUE
# endif
/**
* @brief Events Flags APIs with timeout.
@ -232,7 +283,9 @@
* @note The default is @p TRUE.
* @note Requires @p CH_CFG_USE_EVENTS.
*/
# define CH_CFG_USE_EVENTS_TIMEOUT TRUE
# if !defined(CH_CFG_USE_EVENTS_TIMEOUT)
# define CH_CFG_USE_EVENTS_TIMEOUT TRUE
# endif
/**
* @brief Synchronous Messages APIs.
@ -241,7 +294,9 @@
*
* @note The default is @p TRUE.
*/
# define CH_CFG_USE_MESSAGES TRUE
# if !defined(CH_CFG_USE_MESSAGES)
# define CH_CFG_USE_MESSAGES TRUE
# endif
/**
* @brief Synchronous Messages queuing mode.
@ -252,7 +307,9 @@
* requirements.
* @note Requires @p CH_CFG_USE_MESSAGES.
*/
# define CH_CFG_USE_MESSAGES_PRIORITY TRUE
# if !defined(CH_CFG_USE_MESSAGES_PRIORITY)
# define CH_CFG_USE_MESSAGES_PRIORITY TRUE
# endif
/**
* @brief Mailboxes APIs.
@ -262,7 +319,9 @@
* @note The default is @p TRUE.
* @note Requires @p CH_CFG_USE_SEMAPHORES.
*/
# define CH_CFG_USE_MAILBOXES TRUE
# if !defined(CH_CFG_USE_MAILBOXES)
# define CH_CFG_USE_MAILBOXES TRUE
# endif
/**
* @brief Core Memory Manager APIs.
@ -271,7 +330,9 @@
*
* @note The default is @p TRUE.
*/
# define CH_CFG_USE_MEMCORE TRUE
# if !defined(CH_CFG_USE_MEMCORE)
# define CH_CFG_USE_MEMCORE TRUE
# endif
/**
* @brief Heap Allocator APIs.
@ -283,7 +344,9 @@
* @p CH_CFG_USE_SEMAPHORES.
* @note Mutexes are recommended.
*/
# define CH_CFG_USE_HEAP TRUE
# if !defined(CH_CFG_USE_HEAP)
# define CH_CFG_USE_HEAP TRUE
# endif
/**
* @brief Memory Pools Allocator APIs.
@ -292,7 +355,31 @@
*
* @note The default is @p TRUE.
*/
# define CH_CFG_USE_MEMPOOLS TRUE
# if !defined(CH_CFG_USE_MEMPOOLS)
# define CH_CFG_USE_MEMPOOLS TRUE
# endif
/**
* @brief Objects FIFOs APIs.
* @details If enabled then the objects FIFOs APIs are included
* in the kernel.
*
* @note The default is @p TRUE.
*/
# if !defined(CH_CFG_USE_OBJ_FIFOS)
# define CH_CFG_USE_OBJ_FIFOS TRUE
# endif
/**
* @brief Pipes APIs.
* @details If enabled then the pipes APIs are included
* in the kernel.
*
* @note The default is @p TRUE.
*/
# if !defined(CH_CFG_USE_PIPES)
# define CH_CFG_USE_PIPES TRUE
# endif
/**
* @brief Dynamic Threads APIs.
@ -303,7 +390,80 @@
* @note Requires @p CH_CFG_USE_WAITEXIT.
* @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
*/
# define CH_CFG_USE_DYNAMIC TRUE
# if !defined(CH_CFG_USE_DYNAMIC)
# define CH_CFG_USE_DYNAMIC TRUE
# endif
/** @} */
/*===========================================================================*/
/**
* @name Objects factory options
* @{
*/
/*===========================================================================*/
/**
* @brief Objects Factory APIs.
* @details If enabled then the objects factory APIs are included in the
* kernel.
*
* @note The default is @p FALSE.
*/
# if !defined(CH_CFG_USE_FACTORY)
# define CH_CFG_USE_FACTORY TRUE
# endif
/**
* @brief Maximum length for object names.
* @details If the specified length is zero then the name is stored by
* pointer but this could have unintended side effects.
*/
# if !defined(CH_CFG_FACTORY_MAX_NAMES_LENGTH)
# define CH_CFG_FACTORY_MAX_NAMES_LENGTH 8
# endif
/**
* @brief Enables the registry of generic objects.
*/
# if !defined(CH_CFG_FACTORY_OBJECTS_REGISTRY)
# define CH_CFG_FACTORY_OBJECTS_REGISTRY TRUE
# endif
/**
* @brief Enables factory for generic buffers.
*/
# if !defined(CH_CFG_FACTORY_GENERIC_BUFFERS)
# define CH_CFG_FACTORY_GENERIC_BUFFERS TRUE
# endif
/**
* @brief Enables factory for semaphores.
*/
# if !defined(CH_CFG_FACTORY_SEMAPHORES)
# define CH_CFG_FACTORY_SEMAPHORES TRUE
# endif
/**
* @brief Enables factory for mailboxes.
*/
# if !defined(CH_CFG_FACTORY_MAILBOXES)
# define CH_CFG_FACTORY_MAILBOXES TRUE
# endif
/**
* @brief Enables factory for objects FIFOs.
*/
# if !defined(CH_CFG_FACTORY_OBJ_FIFOS)
# define CH_CFG_FACTORY_OBJ_FIFOS TRUE
# endif
/**
* @brief Enables factory for Pipes.
*/
# if !defined(CH_CFG_FACTORY_PIPES) || defined(__DOXYGEN__)
# define CH_CFG_FACTORY_PIPES TRUE
# endif
/** @} */
@ -319,7 +479,9 @@
*
* @note The default is @p FALSE.
*/
# define CH_DBG_STATISTICS FALSE
# if !defined(CH_DBG_STATISTICS)
# define CH_DBG_STATISTICS FALSE
# endif
/**
* @brief Debug option, system state check.
@ -328,7 +490,9 @@
*
* @note The default is @p FALSE.
*/
# define CH_DBG_SYSTEM_STATE_CHECK FALSE
# if !defined(CH_DBG_SYSTEM_STATE_CHECK)
# define CH_DBG_SYSTEM_STATE_CHECK FALSE
# endif
/**
* @brief Debug option, parameters checks.
@ -337,7 +501,9 @@
*
* @note The default is @p FALSE.
*/
# define CH_DBG_ENABLE_CHECKS FALSE
# if !defined(CH_DBG_ENABLE_CHECKS)
# define CH_DBG_ENABLE_CHECKS FALSE
# endif
/**
* @brief Debug option, consistency checks.
@ -347,7 +513,9 @@
*
* @note The default is @p FALSE.
*/
# define CH_DBG_ENABLE_ASSERTS FALSE
# if !defined(CH_DBG_ENABLE_ASSERTS)
# define CH_DBG_ENABLE_ASSERTS FALSE
# endif
/**
* @brief Debug option, trace buffer.
@ -355,14 +523,18 @@
*
* @note The default is @p CH_DBG_TRACE_MASK_DISABLED.
*/
# define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_DISABLED
# if !defined(CH_DBG_TRACE_MASK)
# define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_DISABLED
# endif
/**
* @brief Trace buffer entries.
* @note The trace buffer is only allocated if @p CH_DBG_TRACE_MASK is
* different from @p CH_DBG_TRACE_MASK_DISABLED.
*/
# define CH_DBG_TRACE_BUFFER_SIZE 128
# if !defined(CH_DBG_TRACE_BUFFER_SIZE)
# define CH_DBG_TRACE_BUFFER_SIZE 128
# endif
/**
* @brief Debug option, stack checks.
@ -374,7 +546,9 @@
* @note The default failure mode is to halt the system with the global
* @p panic_msg variable set to @p NULL.
*/
# define CH_DBG_ENABLE_STACK_CHECK TRUE
# if !defined(CH_DBG_ENABLE_STACK_CHECK)
# define CH_DBG_ENABLE_STACK_CHECK TRUE
# endif
/**
* @brief Debug option, stacks initialization.
@ -384,7 +558,9 @@
*
* @note The default is @p FALSE.
*/
# define CH_DBG_FILL_THREADS FALSE
# if !defined(CH_DBG_FILL_THREADS)
# define CH_DBG_FILL_THREADS FALSE
# endif
/**
* @brief Debug option, threads profiling.
@ -395,7 +571,9 @@
* @note This debug option is not currently compatible with the
* tickless mode.
*/
# define CH_DBG_THREADS_PROFILING FALSE
# if !defined(CH_DBG_THREADS_PROFILING)
# define CH_DBG_THREADS_PROFILING FALSE
# endif
/** @} */
@ -406,6 +584,21 @@
*/
/*===========================================================================*/
/**
* @brief System structure extension.
* @details User fields added to the end of the @p ch_system_t structure.
*/
# define CH_CFG_SYSTEM_EXTRA_FIELDS /* Add threads custom fields here.*/
/**
* @brief System initialization hook.
* @details User initialization code added to the @p chSysInit() function
* just before interrupts are enabled globally.
*/
# define CH_CFG_SYSTEM_INIT_HOOK() \
{ /* Add threads initialization code here.*/ \
}
/**
* @brief Threads descriptor structure extension.
* @details User fields added to the end of the @p thread_t structure.
@ -414,9 +607,9 @@
/**
* @brief Threads initialization hook.
* @details User initialization code added to the @p chThdInit() API.
* @details User initialization code added to the @p _thread_init() function.
*
* @note It is invoked from within @p chThdInit() and implicitly from all
* @note It is invoked from within @p _thread_init() and implicitly from all
* the threads creation APIs.
*/
# define CH_CFG_THREAD_INIT_HOOK(tp) \

View file

@ -1,5 +1,5 @@
/*
ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -28,6 +28,9 @@
#ifndef HALCONF_H
# define HALCONF_H
# define _CHIBIOS_HAL_CONF_
# define _CHIBIOS_HAL_CONF_VER_7_0_
# include "mcuconf.h"
/**
@ -51,6 +54,13 @@
# define HAL_USE_CAN FALSE
# endif
/**
* @brief Enables the cryptographic subsystem.
*/
# if !defined(HAL_USE_CRY) || defined(__DOXYGEN__)
# define HAL_USE_CRY FALSE
# endif
/**
* @brief Enables the DAC subsystem.
*/
@ -58,13 +68,6 @@
# define HAL_USE_DAC TRUE
# endif
/**
* @brief Enables the EXT subsystem.
*/
# if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
# define HAL_USE_EXT FALSE
# endif
/**
* @brief Enables the GPT subsystem.
*/
@ -114,13 +117,6 @@
# define HAL_USE_PWM TRUE
# endif
/**
* @brief Enables the QSPI subsystem.
*/
# if !defined(HAL_USE_QSPI) || defined(__DOXYGEN__)
# define HAL_USE_QSPI FALSE
# endif
/**
* @brief Enables the RTC subsystem.
*/
@ -149,6 +145,13 @@
# define HAL_USE_SERIAL_USB TRUE
# endif
/**
* @brief Enables the SIO subsystem.
*/
# if !defined(HAL_USE_SIO) || defined(__DOXYGEN__)
# define HAL_USE_SIO FALSE
# endif
/**
* @brief Enables the SPI subsystem.
*/
@ -156,6 +159,13 @@
# define HAL_USE_SPI FALSE
# endif
/**
* @brief Enables the TRNG subsystem.
*/
# if !defined(HAL_USE_TRNG) || defined(__DOXYGEN__)
# define HAL_USE_TRNG FALSE
# endif
/**
* @brief Enables the UART subsystem.
*/
@ -177,6 +187,33 @@
# define HAL_USE_WDG FALSE
# endif
/**
* @brief Enables the WSPI subsystem.
*/
# if !defined(HAL_USE_WSPI) || defined(__DOXYGEN__)
# define HAL_USE_WSPI FALSE
# endif
/*===========================================================================*/
/* PAL driver related settings. */
/*===========================================================================*/
/**
* @brief Enables synchronous APIs.
* @note Disabling this option saves both code and data space.
*/
# if !defined(PAL_USE_CALLBACKS) || defined(__DOXYGEN__)
# define PAL_USE_CALLBACKS FALSE
# endif
/**
* @brief Enables synchronous APIs.
* @note Disabling this option saves both code and data space.
*/
# if !defined(PAL_USE_WAIT) || defined(__DOXYGEN__)
# define PAL_USE_WAIT FALSE
# endif
/*===========================================================================*/
/* ADC driver related settings. */
/*===========================================================================*/
@ -208,6 +245,55 @@
# define CAN_USE_SLEEP_MODE TRUE
# endif
/**
* @brief Enforces the driver to use direct callbacks rather than OSAL events.
*/
# if !defined(CAN_ENFORCE_USE_CALLBACKS) || defined(__DOXYGEN__)
# define CAN_ENFORCE_USE_CALLBACKS FALSE
# endif
/*===========================================================================*/
/* CRY driver related settings. */
/*===========================================================================*/
/**
* @brief Enables the SW fall-back of the cryptographic driver.
* @details When enabled, this option, activates a fall-back software
* implementation for algorithms not supported by the underlying
* hardware.
* @note Fall-back implementations may not be present for all algorithms.
*/
# if !defined(HAL_CRY_USE_FALLBACK) || defined(__DOXYGEN__)
# define HAL_CRY_USE_FALLBACK FALSE
# endif
/**
* @brief Makes the driver forcibly use the fall-back implementations.
*/
# if !defined(HAL_CRY_ENFORCE_FALLBACK) || defined(__DOXYGEN__)
# define HAL_CRY_ENFORCE_FALLBACK FALSE
# endif
/*===========================================================================*/
/* DAC driver related settings. */
/*===========================================================================*/
/**
* @brief Enables synchronous APIs.
* @note Disabling this option saves both code and data space.
*/
# if !defined(DAC_USE_WAIT) || defined(__DOXYGEN__)
# define DAC_USE_WAIT TRUE
# endif
/**
* @brief Enables the @p dacAcquireBus() and @p dacReleaseBus() APIs.
* @note Disabling this option saves both code and data space.
*/
# if !defined(DAC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
# define DAC_USE_MUTUAL_EXCLUSION TRUE
# endif
/*===========================================================================*/
/* I2C driver related settings. */
/*===========================================================================*/
@ -224,7 +310,7 @@
/*===========================================================================*/
/**
* @brief Enables an event sources for incoming packets.
* @brief Enables the zero-copy API.
*/
# if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
# define MAC_USE_ZERO_COPY FALSE
@ -284,6 +370,20 @@
# define SDC_NICE_WAITING TRUE
# endif
/**
* @brief OCR initialization constant for V20 cards.
*/
# if !defined(SDC_INIT_OCR_V20) || defined(__DOXYGEN__)
# define SDC_INIT_OCR_V20 0x50FF8000U
# endif
/**
* @brief OCR initialization constant for non-V20 cards.
*/
# if !defined(SDC_INIT_OCR) || defined(__DOXYGEN__)
# define SDC_INIT_OCR 0x80100000U
# endif
/*===========================================================================*/
/* SERIAL driver related settings. */
/*===========================================================================*/
@ -343,6 +443,14 @@
# define SPI_USE_WAIT TRUE
# endif
/**
* @brief Enables circular transfers APIs.
* @note Disabling this option saves both code and data space.
*/
# if !defined(SPI_USE_CIRCULAR) || defined(__DOXYGEN__)
# define SPI_USE_CIRCULAR FALSE
# endif
/**
* @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
* @note Disabling this option saves both code and data space.
@ -351,6 +459,14 @@
# define SPI_USE_MUTUAL_EXCLUSION TRUE
# endif
/**
* @brief Handling method for SPI CS line.
* @note Disabling this option saves both code and data space.
*/
# if !defined(SPI_SELECT_MODE) || defined(__DOXYGEN__)
# define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
# endif
/*===========================================================================*/
/* UART driver related settings. */
/*===========================================================================*/
@ -383,6 +499,26 @@
# define USB_USE_WAIT TRUE
# endif
/*===========================================================================*/
/* WSPI driver related settings. */
/*===========================================================================*/
/**
* @brief Enables synchronous APIs.
* @note Disabling this option saves both code and data space.
*/
# if !defined(WSPI_USE_WAIT) || defined(__DOXYGEN__)
# define WSPI_USE_WAIT TRUE
# endif
/**
* @brief Enables the @p wspiAcquireBus() and @p wspiReleaseBus() APIs.
* @note Disabling this option saves both code and data space.
*/
# if !defined(WSPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
# define WSPI_USE_MUTUAL_EXCLUSION TRUE
# endif
#endif /* HALCONF_H */
/** @} */

View file

@ -1,5 +1,5 @@
/*
ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -32,6 +32,7 @@
*/
#define STM32F3xx_MCUCONF
#define STM32F303_MCUCONF
/*
* HAL driver system settings.
@ -66,9 +67,28 @@
#define STM32_USB_CLOCK_REQUIRED TRUE
#define STM32_USBPRE STM32_USBPRE_DIV1P5
#undef STM32_HSE_BYPASS
// #error "oh no"
// #endif
/*
* IRQ system settings.
*/
#define STM32_IRQ_EXTI0_PRIORITY 6
#define STM32_IRQ_EXTI1_PRIORITY 6
#define STM32_IRQ_EXTI2_PRIORITY 6
#define STM32_IRQ_EXTI3_PRIORITY 6
#define STM32_IRQ_EXTI4_PRIORITY 6
#define STM32_IRQ_EXTI5_9_PRIORITY 6
#define STM32_IRQ_EXTI10_15_PRIORITY 6
#define STM32_IRQ_EXTI16_PRIORITY 6
#define STM32_IRQ_EXTI17_PRIORITY 15
#define STM32_IRQ_EXTI18_PRIORITY 6
#define STM32_IRQ_EXTI19_PRIORITY 15
#define STM32_IRQ_EXTI20_PRIORITY 15
#define STM32_IRQ_EXTI21_22_29_PRIORITY 6
#define STM32_IRQ_EXTI30_32_PRIORITY 6
#define STM32_IRQ_EXTI33_PRIORITY 6
#define STM32_IRQ_TIM1_BRK_TIM15_PRIORITY 7
#define STM32_IRQ_TIM1_UP_TIM16_PRIORITY 7
#define STM32_IRQ_TIM1_TRGCO_TIM17_PRIORITY 7
#define STM32_IRQ_TIM1_CC_PRIORITY 7
/*
* ADC driver system settings.
@ -114,25 +134,6 @@
#define STM32_DAC_DAC1_CH1_DMA_PRIORITY 2
#define STM32_DAC_DAC1_CH2_DMA_PRIORITY 2
/*
* EXT driver system settings.
*/
#define STM32_EXT_EXTI0_IRQ_PRIORITY 6
#define STM32_EXT_EXTI1_IRQ_PRIORITY 6
#define STM32_EXT_EXTI2_IRQ_PRIORITY 6
#define STM32_EXT_EXTI3_IRQ_PRIORITY 6
#define STM32_EXT_EXTI4_IRQ_PRIORITY 6
#define STM32_EXT_EXTI5_9_IRQ_PRIORITY 6
#define STM32_EXT_EXTI10_15_IRQ_PRIORITY 6
#define STM32_EXT_EXTI16_IRQ_PRIORITY 6
#define STM32_EXT_EXTI17_IRQ_PRIORITY 6
#define STM32_EXT_EXTI18_IRQ_PRIORITY 6
#define STM32_EXT_EXTI19_IRQ_PRIORITY 6
#define STM32_EXT_EXTI20_IRQ_PRIORITY 6
#define STM32_EXT_EXTI21_22_29_IRQ_PRIORITY 6
#define STM32_EXT_EXTI30_32_IRQ_PRIORITY 6
#define STM32_EXT_EXTI33_IRQ_PRIORITY 6
/*
* GPT driver system settings.
*/
@ -143,6 +144,9 @@
#define STM32_GPT_USE_TIM6 TRUE
#define STM32_GPT_USE_TIM7 TRUE
#define STM32_GPT_USE_TIM8 TRUE
#define STM32_GPT_USE_TIM15 FALSE
#define STM32_GPT_USE_TIM16 FALSE
#define STM32_GPT_USE_TIM17 FALSE
#define STM32_GPT_TIM1_IRQ_PRIORITY 7
#define STM32_GPT_TIM2_IRQ_PRIORITY 7
#define STM32_GPT_TIM3_IRQ_PRIORITY 7
@ -172,6 +176,7 @@
#define STM32_ICU_USE_TIM3 FALSE
#define STM32_ICU_USE_TIM4 FALSE
#define STM32_ICU_USE_TIM8 FALSE
#define STM32_ICU_USE_TIM15 FALSE
#define STM32_ICU_TIM1_IRQ_PRIORITY 7
#define STM32_ICU_TIM2_IRQ_PRIORITY 7
#define STM32_ICU_TIM3_IRQ_PRIORITY 7
@ -187,12 +192,23 @@
#define STM32_PWM_USE_TIM3 TRUE
#define STM32_PWM_USE_TIM4 TRUE
#define STM32_PWM_USE_TIM8 FALSE
#define STM32_PWM_USE_TIM15 FALSE
#define STM32_PWM_USE_TIM16 FALSE
#define STM32_PWM_USE_TIM17 FALSE
#define STM32_PWM_TIM1_IRQ_PRIORITY 7
#define STM32_PWM_TIM2_IRQ_PRIORITY 7
#define STM32_PWM_TIM3_IRQ_PRIORITY 7
#define STM32_PWM_TIM4_IRQ_PRIORITY 7
#define STM32_PWM_TIM8_IRQ_PRIORITY 7
/*
* RTC driver system settings.
*/
#define STM32_RTC_PRESA_VALUE 32
#define STM32_RTC_PRESS_VALUE 1024
#define STM32_RTC_CR_INIT 0
#define STM32_RTC_TAMPCR_INIT 0
/*
* SERIAL driver system settings.
*/

View file

@ -22,295 +22,336 @@
#ifndef COMMON_GFXCONF_H
#define COMMON_GFXCONF_H
///////////////////////////////////////////////////////////////////////////
// GFX - Compatibility options //
///////////////////////////////////////////////////////////////////////////
//#define GFX_COMPAT_V2 GFXON
//#define GFX_COMPAT_OLDCOLORS GFXON
///////////////////////////////////////////////////////////////////////////
// GOS - One of these must be defined, preferably in your Makefile //
///////////////////////////////////////////////////////////////////////////
//#define GFX_USE_OS_CHIBIOS TRUE
//#define GFX_USE_OS_FREERTOS FALSE
// #define GFX_FREERTOS_USE_TRACE FALSE
//#define GFX_USE_OS_WIN32 FALSE
//#define GFX_USE_OS_LINUX FALSE
//#define GFX_USE_OS_OSX FALSE
//#define GFX_USE_OS_ECOS FALSE
//#define GFX_USE_OS_RAWRTOS FALSE
//#define GFX_USE_OS_ARDUINO FALSE
//#define GFX_USE_OS_KEIL FALSE
//#define GFX_USE_OS_CMSIS FALSE
//#define GFX_USE_OS_RAW32 FALSE
//#define GFX_USE_OS_CHIBIOS GFXOFF
//#define GFX_USE_OS_FREERTOS GFXOFF
// #define GFX_FREERTOS_USE_TRACE GFXOFF
//#define GFX_USE_OS_WIN32 GFXOFF
//#define GFX_USE_OS_LINUX GFXOFF
//#define GFX_USE_OS_OSX GFXOFF
//#define GFX_USE_OS_ECOS GFXOFF
//#define GFX_USE_OS_RAWRTOS GFXOFF
//#define GFX_USE_OS_ARDUINO GFXOFF
//#define GFX_USE_OS_KEIL GFXOFF
//#define GFX_USE_OS_RTX5 GFXOFF
//#define GFX_USE_OS_CMSIS GFXOFF
//#define GFX_USE_OS_CMSIS2 GFXOFF
//#define GFX_USE_OS_RAW32 GFXOFF
//#define GFX_USE_OS_ZEPHYR GFXOFF
//#define GFX_USE_OS_NIOS GFXOFF
//#define GFX_USE_OS_QT GFXOFF
// #define INTERRUPTS_OFF() optional_code
// #define INTERRUPTS_ON() optional_code
// These are not defined by default for some reason
#define GOS_NEED_X_THREADS FALSE
#define GOS_NEED_X_HEAP FALSE
// Options that (should where relevant) apply to all operating systems
#define GFX_NO_INLINE FALSE
#define GFX_NO_INLINE GFXON
// #define GFX_COMPILER GFX_COMPILER_UNKNOWN
// #define GFX_SHOW_COMPILER GFXOFF
// #define GFX_CPU GFX_CPU_UNKNOWN
// #define GFX_CPU_NO_ALIGNMENT_FAULTS GFXOFF
// #define GFX_CPU_ENDIAN GFX_CPU_ENDIAN_UNKNOWN
// #define GFX_OS_HEAP_SIZE 0
// #define GFX_OS_NO_INIT FALSE
// #define GFX_OS_INIT_NO_WARNING FALSE
// #define GFX_OS_NO_INIT GFXOFF
// #define GFX_OS_INIT_NO_WARNING GFXOFF
// #define GFX_OS_PRE_INIT_FUNCTION myHardwareInitRoutine
// #define GFX_OS_EXTRA_INIT_FUNCTION myOSInitRoutine
// #define GFX_OS_EXTRA_DEINIT_FUNCTION myOSDeInitRoutine
// #define GFX_OS_CALL_UGFXMAIN GFXOFF
// #define GFX_OS_UGFXMAIN_STACKSIZE 0
// #define GFX_EMULATE_MALLOC GFXOFF
// #define GFX_MEM_LT64K GFXOFF
///////////////////////////////////////////////////////////////////////////
// GDISP //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GDISP TRUE
#define GFX_USE_GDISP GFXON
//#define GDISP_NEED_AUTOFLUSH FALSE
//#define GDISP_NEED_TIMERFLUSH FALSE
//#define GDISP_NEED_VALIDATION TRUE
//#define GDISP_NEED_CLIP TRUE
#define GDISP_NEED_CIRCLE TRUE
#define GDISP_NEED_ELLIPSE TRUE
#define GDISP_NEED_ARC TRUE
#define GDISP_NEED_ARCSECTORS TRUE
#define GDISP_NEED_CONVEX_POLYGON TRUE
//#define GDISP_NEED_SCROLL FALSE
#define GDISP_NEED_PIXELREAD TRUE
#define GDISP_NEED_CONTROL TRUE
//#define GDISP_NEED_QUERY FALSE
//#define GDISP_NEED_MULTITHREAD FALSE
//#define GDISP_NEED_STREAMING FALSE
#define GDISP_NEED_TEXT TRUE
// #define GDISP_NEED_TEXT_WORDWRAP FALSE
// #define GDISP_NEED_ANTIALIAS FALSE
// #define GDISP_NEED_UTF8 FALSE
#define GDISP_NEED_TEXT_KERNING TRUE
// #define GDISP_INCLUDE_FONT_UI1 FALSE
// #define GDISP_INCLUDE_FONT_UI2 FALSE // The smallest preferred font.
// #define GDISP_INCLUDE_FONT_LARGENUMBERS FALSE
// #define GDISP_INCLUDE_FONT_DEJAVUSANS10 FALSE
// #define GDISP_INCLUDE_FONT_DEJAVUSANS12 FALSE
// #define GDISP_INCLUDE_FONT_DEJAVUSANS16 FALSE
// #define GDISP_INCLUDE_FONT_DEJAVUSANS20 FALSE
// #define GDISP_INCLUDE_FONT_DEJAVUSANS24 FALSE
// #define GDISP_INCLUDE_FONT_DEJAVUSANS32 FALSE
#define GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12 TRUE
// #define GDISP_INCLUDE_FONT_FIXED_10X20 FALSE
// #define GDISP_INCLUDE_FONT_FIXED_7X14 FALSE
#define GDISP_INCLUDE_FONT_FIXED_5X8 TRUE
// #define GDISP_INCLUDE_FONT_DEJAVUSANS12_AA FALSE
// #define GDISP_INCLUDE_FONT_DEJAVUSANS16_AA FALSE
// #define GDISP_INCLUDE_FONT_DEJAVUSANS20_AA FALSE
// #define GDISP_INCLUDE_FONT_DEJAVUSANS24_AA FALSE
// #define GDISP_INCLUDE_FONT_DEJAVUSANS32_AA FALSE
// #define GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12_AA FALSE
// #define GDISP_INCLUDE_USER_FONTS FALSE
//#define GDISP_NEED_AUTOFLUSH GFXOFF
//#define GDISP_NEED_TIMERFLUSH GFXOFF
//#define GDISP_NEED_VALIDATION GFXON
//#define GDISP_NEED_CLIP GFXON
#define GDISP_NEED_CIRCLE GFXON
//#define GDISP_NEED_DUALCIRCLE GFXOFF
#define GDISP_NEED_ELLIPSE GFXON
#define GDISP_NEED_ARC GFXON
#define GDISP_NEED_ARCSECTORS GFXON
#define GDISP_NEED_CONVEX_POLYGON GFXON
//#define GDISP_NEED_SCROLL GFXOFF
#define GDISP_NEED_PIXELREAD GFXON
#define GDISP_NEED_CONTROL GFXON
//#define GDISP_NEED_QUERY GFXOFF
//#define GDISP_NEED_MULTITHREAD GFXOFF
//#define GDISP_NEED_STREAMING GFXOFF
#define GDISP_NEED_TEXT GFXON
// #define GDISP_NEED_TEXT_WORDWRAP GFXOFF
// #define GDISP_NEED_TEXT_BOXPADLR 1
// #define GDISP_NEED_TEXT_BOXPADTB 1
// #define GDISP_NEED_ANTIALIAS GFXOFF
// #define GDISP_NEED_UTF8 GFXOFF
#define GDISP_NEED_TEXT_KERNING GFXON
// #define GDISP_INCLUDE_FONT_UI1 GFXOFF
// #define GDISP_INCLUDE_FONT_UI2 GFXOFF // The smallest preferred font.
// #define GDISP_INCLUDE_FONT_LARGENUMBERS GFXOFF
// #define GDISP_INCLUDE_FONT_DEJAVUSANS10 GFXOFF
// #define GDISP_INCLUDE_FONT_DEJAVUSANS12 GFXOFF
// #define GDISP_INCLUDE_FONT_DEJAVUSANS16 GFXOFF
// #define GDISP_INCLUDE_FONT_DEJAVUSANS20 GFXOFF
// #define GDISP_INCLUDE_FONT_DEJAVUSANS24 GFXOFF
// #define GDISP_INCLUDE_FONT_DEJAVUSANS32 GFXOFF
#define GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12 GFXON
// #define GDISP_INCLUDE_FONT_FIXED_10X20 GFXOFF
// #define GDISP_INCLUDE_FONT_FIXED_7X14 GFXOFF
#define GDISP_INCLUDE_FONT_FIXED_5X8 GFXON
// #define GDISP_INCLUDE_FONT_DEJAVUSANS12_AA GFXOFF
// #define GDISP_INCLUDE_FONT_DEJAVUSANS16_AA GFXOFF
// #define GDISP_INCLUDE_FONT_DEJAVUSANS20_AA GFXOFF
// #define GDISP_INCLUDE_FONT_DEJAVUSANS24_AA GFXOFF
// #define GDISP_INCLUDE_FONT_DEJAVUSANS32_AA GFXOFF
// #define GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12_AA GFXOFF
// #define GDISP_INCLUDE_USER_FONTS GFXOFF
//#define GDISP_NEED_IMAGE FALSE
// #define GDISP_NEED_IMAGE_NATIVE FALSE
// #define GDISP_NEED_IMAGE_GIF FALSE
// #define GDISP_NEED_IMAGE_BMP FALSE
// #define GDISP_NEED_IMAGE_BMP_1 FALSE
// #define GDISP_NEED_IMAGE_BMP_4 FALSE
// #define GDISP_NEED_IMAGE_BMP_4_RLE FALSE
// #define GDISP_NEED_IMAGE_BMP_8 FALSE
// #define GDISP_NEED_IMAGE_BMP_8_RLE FALSE
// #define GDISP_NEED_IMAGE_BMP_16 FALSE
// #define GDISP_NEED_IMAGE_BMP_24 FALSE
// #define GDISP_NEED_IMAGE_BMP_32 FALSE
// #define GDISP_NEED_IMAGE_JPG FALSE
// #define GDISP_NEED_IMAGE_PNG FALSE
// #define GDISP_NEED_IMAGE_ACCOUNTING FALSE
#ifdef EMULATOR
# define GDISP_NEED_PIXMAP TRUE
#endif
// #define GDISP_NEED_PIXMAP_IMAGE FALSE
//#define GDISP_NEED_IMAGE GFXOFF
// #define GDISP_NEED_IMAGE_NATIVE GFXOFF
// #define GDISP_NEED_IMAGE_GIF GFXOFF
// #define GDISP_IMAGE_GIF_BLIT_BUFFER_SIZE 32
// #define GDISP_NEED_IMAGE_BMP GFXOFF
// #define GDISP_NEED_IMAGE_BMP_1 GFXON
// #define GDISP_NEED_IMAGE_BMP_4 GFXON
// #define GDISP_NEED_IMAGE_BMP_4_RLE GFXON
// #define GDISP_NEED_IMAGE_BMP_8 GFXON
// #define GDISP_NEED_IMAGE_BMP_8_RLE GFXON
// #define GDISP_NEED_IMAGE_BMP_16 GFXON
// #define GDISP_NEED_IMAGE_BMP_24 GFXON
// #define GDISP_NEED_IMAGE_BMP_32 GFXON
// #define GDISP_IMAGE_BMP_BLIT_BUFFER_SIZE 32
// #define GDISP_NEED_IMAGE_JPG GFXOFF
// #define GDISP_NEED_IMAGE_PNG GFXOFF
// #define GDISP_NEED_IMAGE_PNG_INTERLACED GFXOFF
// #define GDISP_NEED_IMAGE_PNG_TRANSPARENCY GFXON
// #define GDISP_NEED_IMAGE_PNG_BACKGROUND GFXON
// #define GDISP_NEED_IMAGE_PNG_ALPHACLIFF 32
// #define GDISP_NEED_IMAGE_PNG_PALETTE_124 GFXON
// #define GDISP_NEED_IMAGE_PNG_PALETTE_8 GFXON
// #define GDISP_NEED_IMAGE_PNG_GRAYSCALE_124 GFXON
// #define GDISP_NEED_IMAGE_PNG_GRAYSCALE_8 GFXON
// #define GDISP_NEED_IMAGE_PNG_GRAYSCALE_16 GFXON
// #define GDISP_NEED_IMAGE_PNG_GRAYALPHA_8 GFXON
// #define GDISP_NEED_IMAGE_PNG_GRAYALPHA_16 GFXON
// #define GDISP_NEED_IMAGE_PNG_RGB_8 GFXON
// #define GDISP_NEED_IMAGE_PNG_RGB_16 GFXON
// #define GDISP_NEED_IMAGE_PNG_RGBALPHA_8 GFXON
// #define GDISP_NEED_IMAGE_PNG_RGBALPHA_16 GFXON
// #define GDISP_IMAGE_PNG_BLIT_BUFFER_SIZE 32
// #define GDISP_IMAGE_PNG_FILE_BUFFER_SIZE 8
// #define GDISP_IMAGE_PNG_Z_BUFFER_SIZE 32768
// #define GDISP_NEED_IMAGE_ACCOUNTING GFXOFF
//#define GDISP_DEFAULT_ORIENTATION GDISP_ROTATE_LANDSCAPE // If not defined the native hardware orientation is used.
//#define GDISP_NEED_PIXMAP GFXOFF
// #define GDISP_NEED_PIXMAP_IMAGE GFXOFF
//#define GDISP_DEFAULT_ORIENTATION gOrientationLandscape // If not defined the native hardware orientation is used.
//#define GDISP_LINEBUF_SIZE 128
//#define GDISP_STARTUP_COLOR Black
#define GDISP_NEED_STARTUP_LOGO FALSE
//#define GDISP_STARTUP_COLOR GFX_BLACK
#define GDISP_NEED_STARTUP_LOGO GFXOFF
//#define GDISP_TOTAL_DISPLAYS 2
//#define GDISP_TOTAL_DISPLAYS 1
//#define GDISP_DRIVER_LIST GDISPVMT_Win32, GDISPVMT_Win32
#ifdef GDISP_DRIVER_LIST
// For code and speed optimization define as TRUE or FALSE if all controllers have the same capability
# define GDISP_HARDWARE_STREAM_WRITE FALSE
# define GDISP_HARDWARE_STREAM_READ FALSE
# define GDISP_HARDWARE_STREAM_POS FALSE
# define GDISP_HARDWARE_DRAWPIXEL TRUE
# define GDISP_HARDWARE_CLEARS FALSE
# define GDISP_HARDWARE_FILLS FALSE
//#define GDISP_HARDWARE_BITFILLS FALSE
# define GDISP_HARDWARE_SCROLL FALSE
# define GDISP_HARDWARE_PIXELREAD TRUE
# define GDISP_HARDWARE_CONTROL TRUE
# define GDISP_HARDWARE_QUERY FALSE
# define GDISP_HARDWARE_CLIP FALSE
// // For code and speed optimization define as GFXON or GFXOFF if all controllers have the same capability
# define GDISP_HARDWARE_STREAM_WRITE GFXOFF
# define GDISP_HARDWARE_STREAM_READ GFXOFF
# define GDISP_HARDWARE_STREAM_POS GFXOFF
# define GDISP_HARDWARE_DRAWPIXEL GFXON
# define GDISP_HARDWARE_CLEARS GFXOFF
# define GDISP_HARDWARE_FILLS GFXOFF
//#define GDISP_HARDWARE_BITFILLS GFXOFF
# define GDISP_HARDWARE_SCROLL GFXOFF
# define GDISP_HARDWARE_PIXELREAD GFXON
# define GDISP_HARDWARE_CONTROL GFXON
# define GDISP_HARDWARE_QUERY GFXOFF
# define GDISP_HARDWARE_CLIP GFXOFF
# define GDISP_PIXELFORMAT GDISP_PIXELFORMAT_RGB888
#endif
// The custom format is not defined for some reason, so define it as error
// so we don't get compiler warnings
#define GDISP_PIXELFORMAT_CUSTOM GDISP_PIXELFORMAT_ERROR
#define GDISP_USE_GFXNET FALSE
#define GDISP_USE_GFXNET GFXOFF
// #define GDISP_GFXNET_PORT 13001
// #define GDISP_GFXNET_CUSTOM_LWIP_STARTUP FALSE
// #define GDISP_DONT_WAIT_FOR_NET_DISPLAY FALSE
// #define GDISP_GFXNET_UNSAFE_SOCKETS FALSE
// #define GDISP_GFXNET_CUSTOM_LWIP_STARTUP GFXOFF
// #define GDISP_DONT_WAIT_FOR_NET_DISPLAY GFXOFF
// #define GDISP_GFXNET_UNSAFE_SOCKETS GFXOFF
///////////////////////////////////////////////////////////////////////////
// GWIN //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GWIN FALSE
#define GFX_USE_GWIN GFXOFF
//#define GWIN_NEED_WINDOWMANAGER FALSE
// #define GWIN_REDRAW_IMMEDIATE FALSE
// #define GWIN_REDRAW_SINGLEOP FALSE
// #define GWIN_NEED_FLASHING FALSE
//#define GWIN_NEED_WINDOWMANAGER GFXOFF
// #define GWIN_REDRAW_IMMEDIATE GFXOFF
// #define GWIN_REDRAW_SINGLEOP GFXOFF
// #define GWIN_NEED_FLASHING GFXOFF
// #define GWIN_FLASHING_PERIOD 250
//#define GWIN_NEED_CONSOLE FALSE
// #define GWIN_CONSOLE_USE_HISTORY FALSE
// #define GWIN_CONSOLE_HISTORY_AVERAGING FALSE
// #define GWIN_CONSOLE_HISTORY_ATCREATE FALSE
// #define GWIN_CONSOLE_ESCSEQ FALSE
// #define GWIN_CONSOLE_USE_BASESTREAM FALSE
// #define GWIN_CONSOLE_USE_FLOAT FALSE
//#define GWIN_NEED_GRAPH FALSE
//#define GWIN_NEED_GL3D FALSE
//#define GWIN_NEED_CONSOLE GFXOFF
// #define GWIN_CONSOLE_USE_HISTORY GFXOFF
// #define GWIN_CONSOLE_HISTORY_AVERAGING GFXOFF
// #define GWIN_CONSOLE_HISTORY_ATCREATE GFXOFF
// #define GWIN_CONSOLE_ESCSEQ GFXOFF
// #define GWIN_CONSOLE_USE_BASESTREAM GFXOFF
// #define GWIN_CONSOLE_USE_FLOAT GFXOFF
//#define GWIN_NEED_GRAPH GFXOFF
//#define GWIN_NEED_GL3D GFXOFF
//#define GWIN_NEED_WIDGET FALSE
//#define GWIN_NEED_WIDGET GFXOFF
//#define GWIN_FOCUS_HIGHLIGHT_WIDTH 1
// #define GWIN_NEED_LABEL FALSE
// #define GWIN_LABEL_ATTRIBUTE FALSE
// #define GWIN_NEED_BUTTON FALSE
// #define GWIN_BUTTON_LAZY_RELEASE FALSE
// #define GWIN_NEED_SLIDER FALSE
// #define GWIN_SLIDER_NOSNAP FALSE
// #define GWIN_NEED_LABEL GFXOFF
// #define GWIN_LABEL_ATTRIBUTE GFXOFF
// #define GWIN_NEED_BUTTON GFXOFF
// #define GWIN_BUTTON_LAZY_RELEASE GFXOFF
// #define GWIN_NEED_SLIDER GFXOFF
// #define GWIN_SLIDER_NOSNAP GFXOFF
// #define GWIN_SLIDER_DEAD_BAND 5
// #define GWIN_SLIDER_TOGGLE_INC 20
// #define GWIN_NEED_CHECKBOX FALSE
// #define GWIN_NEED_IMAGE FALSE
// #define GWIN_NEED_IMAGE_ANIMATION FALSE
// #define GWIN_NEED_RADIO FALSE
// #define GWIN_NEED_LIST FALSE
// #define GWIN_NEED_LIST_IMAGES FALSE
// #define GWIN_NEED_PROGRESSBAR FALSE
// #define GWIN_PROGRESSBAR_AUTO FALSE
// #define GWIN_NEED_KEYBOARD FALSE
// #define GWIN_NEED_CHECKBOX GFXOFF
// #define GWIN_NEED_IMAGE GFXOFF
// #define GWIN_NEED_IMAGE_ANIMATION GFXOFF
// #define GWIN_NEED_RADIO GFXOFF
// #define GWIN_NEED_LIST GFXOFF
// #define GWIN_NEED_LIST_IMAGES GFXOFF
// #define GWIN_NEED_PROGRESSBAR GFXOFF
// #define GWIN_PROGRESSBAR_AUTO GFXOFF
// #define GWIN_NEED_KEYBOARD GFXOFF
// #define GWIN_KEYBOARD_DEFAULT_LAYOUT VirtualKeyboard_English1
// #define GWIN_NEED_KEYBOARD_ENGLISH1 TRUE
// #define GWIN_NEED_TEXTEDIT FALSE
// #define GWIN_FLAT_STYLING FALSE
// #define GWIN_WIDGET_TAGS FALSE
// #define GWIN_NEED_KEYBOARD_ENGLISH1 GFXON
// #define GWIN_NEED_TEXTEDIT GFXOFF
// #define GWIN_FLAT_STYLING GFXOFF
// #define GWIN_WIDGET_TAGS GFXOFF
//#define GWIN_NEED_CONTAINERS FALSE
// #define GWIN_NEED_CONTAINER FALSE
// #define GWIN_NEED_FRAME FALSE
// #define GWIN_NEED_TABSET FALSE
//#define GWIN_NEED_CONTAINERS GFXOFF
// #define GWIN_NEED_CONTAINER GFXOFF
// #define GWIN_NEED_FRAME GFXOFF
// #define GWIN_NEED_TABSET GFXOFF
// #define GWIN_TABSET_TABHEIGHT 18
///////////////////////////////////////////////////////////////////////////
// GTRANS //
///////////////////////////////////////////////////////////////////////////
//#define GFX_USE_GTRANS GFXOFF
///////////////////////////////////////////////////////////////////////////
// GEVENT //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GEVENT TRUE
#define GFX_USE_GEVENT GFXON
//#define GEVENT_ASSERT_NO_RESOURCE FALSE
//#define GEVENT_ASSERT_NO_RESOURCE GFXOFF
//#define GEVENT_MAXIMUM_SIZE 32
//#define GEVENT_MAX_SOURCE_LISTENERS 32
///////////////////////////////////////////////////////////////////////////
// GTIMER //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GTIMER FALSE
#define GFX_USE_GTIMER GFXOFF
//#define GTIMER_THREAD_PRIORITY HIGH_PRIORITY
//#define GTIMER_THREAD_PRIORITY gThreadpriorityHigh
//#define GTIMER_THREAD_WORKAREA_SIZE 2048
///////////////////////////////////////////////////////////////////////////
// GQUEUE //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GQUEUE FALSE
#define GFX_USE_GQUEUE GFXOFF
//#define GQUEUE_NEED_ASYNC FALSE
//#define GQUEUE_NEED_GSYNC FALSE
//#define GQUEUE_NEED_FSYNC FALSE
//#define GQUEUE_NEED_BUFFERS FALSE
//#define GQUEUE_NEED_ASYNC GFXOFF
//#define GQUEUE_NEED_GSYNC GFXOFF
//#define GQUEUE_NEED_FSYNC GFXOFF
//#define GQUEUE_NEED_BUFFERS GFXOFF
///////////////////////////////////////////////////////////////////////////
// GINPUT //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GINPUT FALSE
#define GFX_USE_GINPUT GFXOFF
//#define GINPUT_NEED_MOUSE FALSE
// #define GINPUT_TOUCH_STARTRAW FALSE
// #define GINPUT_TOUCH_NOTOUCH FALSE
// #define GINPUT_TOUCH_NOCALIBRATE FALSE
// #define GINPUT_TOUCH_NOCALIBRATE_GUI FALSE
//#define GINPUT_NEED_MOUSE GFXOFF
// #define GINPUT_TOUCH_STARTRAW GFXOFF
// #define GINPUT_TOUCH_NOTOUCH GFXOFF
// #define GINPUT_TOUCH_NOCALIBRATE GFXOFF
// #define GINPUT_TOUCH_NOCALIBRATE_GUI GFXOFF
// #define GINPUT_MOUSE_POLL_PERIOD 25
// #define GINPUT_MOUSE_CLICK_TIME 300
// #define GINPUT_TOUCH_CXTCLICK_TIME 700
// #define GINPUT_TOUCH_USER_CALIBRATION_LOAD FALSE
// #define GINPUT_TOUCH_USER_CALIBRATION_SAVE FALSE
// #define GINPUT_TOUCH_USER_CALIBRATION_LOAD GFXOFF
// #define GINPUT_TOUCH_USER_CALIBRATION_SAVE GFXOFF
// #define GMOUSE_DRIVER_LIST GMOUSEVMT_Win32, GMOUSEVMT_Win32
//#define GINPUT_NEED_KEYBOARD FALSE
// #define GINPUT_TOUCH_CALIBRATION_FONT1 "* Double"
// #define GINPUT_TOUCH_CALIBRATION_FONT2 "* Narrow"
// #define GINPUT_TOUCH_CALIBRATION_TITLE "Calibration"
// #define GINPUT_TOUCH_CALIBRATION_ERROR "Calibration Failed!"
//#define GINPUT_NEED_KEYBOARD GFXOFF
// #define GINPUT_KEYBOARD_POLL_PERIOD 200
// #define GKEYBOARD_DRIVER_LIST GKEYBOARDVMT_Win32, GKEYBOARDVMT_Win32
// #define GKEYBOARD_LAYOUT_OFF FALSE
// #define GKEYBOARD_LAYOUT_SCANCODE2_US FALSE
//#define GINPUT_NEED_TOGGLE FALSE
//#define GINPUT_NEED_DIAL FALSE
// #define GKEYBOARD_LAYOUT_OFF GFXOFF
// #define GKEYBOARD_LAYOUT_SCANCODE2_US GFXOFF
//#define GINPUT_NEED_TOGGLE GFXOFF
//#define GINPUT_NEED_DIAL GFXOFF
///////////////////////////////////////////////////////////////////////////
// GFILE //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GFILE FALSE
#define GFX_USE_GFILE GFXOFF
//#define GFILE_NEED_PRINTG FALSE
//#define GFILE_NEED_SCANG FALSE
//#define GFILE_NEED_STRINGS FALSE
//#define GFILE_NEED_FILELISTS FALSE
//#define GFILE_NEED_STDIO FALSE
//#define GFILE_NEED_NOAUTOMOUNT FALSE
//#define GFILE_NEED_NOAUTOSYNC FALSE
//#define GFILE_NEED_PRINTG GFXOFF
//#define GFILE_NEED_SCANG GFXOFF
//#define GFILE_NEED_STRINGS GFXOFF
//#define GFILE_NEED_FILELISTS GFXOFF
//#define GFILE_NEED_STDIO GFXOFF
//#define GFILE_NEED_NOAUTOMOUNT GFXOFF
//#define GFILE_NEED_NOAUTOSYNC GFXOFF
//#define GFILE_NEED_MEMFS FALSE
//#define GFILE_NEED_ROMFS FALSE
//#define GFILE_NEED_RAMFS FALSE
//#define GFILE_NEED_FATFS FALSE
//#define GFILE_NEED_NATIVEFS FALSE
//#define GFILE_NEED_CHBIOSFS FALSE
//#define GFILE_NEED_MEMFS GFXOFF
//#define GFILE_NEED_ROMFS GFXOFF
//#define GFILE_NEED_RAMFS GFXOFF
//#define GFILE_NEED_FATFS GFXOFF
//#define GFILE_NEED_NATIVEFS GFXOFF
//#define GFILE_NEED_CHBIOSFS GFXOFF
//#define GFILE_NEED_USERFS GFXOFF
//#define GFILE_ALLOW_FLOATS FALSE
//#define GFILE_ALLOW_DEVICESPECIFIC FALSE
//#define GFILE_ALLOW_FLOATS GFXOFF
//#define GFILE_ALLOW_DEVICESPECIFIC GFXOFF
//#define GFILE_MAX_GFILES 3
///////////////////////////////////////////////////////////////////////////
// GADC //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GADC FALSE
//#define GADC_MAX_LOWSPEED_DEVICES 4
#define GFX_USE_GADC GFXOFF
// #define GADC_MAX_LOWSPEED_DEVICES 4
///////////////////////////////////////////////////////////////////////////
// GAUDIO //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GAUDIO FALSE
// There seems to be a bug in the ugfx code, the wrong define is used
// So define it in order to avoid warnings
#define GFX_USE_GAUDIN GFX_USE_GAUDIO
// #define GAUDIO_NEED_PLAY FALSE
// #define GAUDIO_NEED_RECORD FALSE
#define GFX_USE_GAUDIO GFXOFF
// #define GAUDIO_NEED_PLAY GFXOFF
// #define GAUDIO_NEED_RECORD GFXOFF
///////////////////////////////////////////////////////////////////////////
// GMISC //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GMISC TRUE
#define GFX_USE_GMISC GFXON
//#define GMISC_NEED_ARRAYOPS FALSE
//#define GMISC_NEED_FASTTRIG FALSE
//#define GMISC_NEED_FIXEDTRIG FALSE
//#define GMISC_NEED_INVSQRT FALSE
// #define GMISC_INVSQRT_MIXED_ENDIAN FALSE
// #define GMISC_INVSQRT_REAL_SLOW FALSE
#define GMISC_NEED_MATRIXFLOAT2D TRUE
#define GMISC_NEED_MATRIXFIXED2D FALSE
//#define GMISC_NEED_ARRAYOPS GFXOFF
//#define GMISC_NEED_FASTTRIG GFXOFF
//#define GMISC_NEED_FIXEDTRIG GFXOFF
//#define GMISC_NEED_INVSQRT GFXOFF
// #define GMISC_INVSQRT_MIXED_ENDIAN GFXOFF
// #define GMISC_INVSQRT_REAL_SLOW GFXOFF
#define GMISC_NEED_MATRIXFLOAT2D GFXON
#define GMISC_NEED_MATRIXFIXED2D GFXOFF
//#define GMISC_NEED_HITTEST_POLY GFXOFF
#endif /* COMMON_GFXCONF_H */

View file

@ -352,7 +352,7 @@ static DECLARE_THREAD_FUNCTION(visualizerThread, arg) {
// On windows the system ticks is the same as milliseconds anyway
if (sleep_time != TIME_INFINITE) {
sleep_time = ST2MS(sleep_time);
sleep_time = TIME_I2MS(sleep_time);
}
#endif
geventEventWait(&event_listener, sleep_time);
@ -400,7 +400,7 @@ void update_status(bool changed) {
static systime_t last_update = 0;
systime_t current_update = chVTGetSystemTimeX();
systime_t delta = current_update - last_update;
if (changed || delta > MS2ST(10)) {
if (changed || delta > TIME_MS2I(10)) {
last_update = current_update;
visualizer_keyboard_status_t* r = begin_write_current_status();
*r = current_status;

View file

@ -97,8 +97,8 @@ typedef struct visualizer_state_t {
uint32_t current_lcd_color;
uint32_t prev_lcd_color;
#ifdef LCD_ENABLE
font_t font_fixed5x8;
font_t font_dejavusansbold12;
gFont font_fixed5x8;
gFont font_dejavusansbold12;
#endif
} visualizer_state_t;