2020 February 29 Breaking Changes Update (#8064)
This commit is contained in:
		
							parent
							
								
									85041ff05b
								
							
						
					
					
						commit
						26eef35f07
					
				
					 362 changed files with 27772 additions and 8810 deletions
				
			
		| 
						 | 
				
			
			@ -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);
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										51
									
								
								quantum/process_keycode/process_backlight.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								quantum/process_keycode/process_backlight.c
									
										
									
									
									
										Normal 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;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										21
									
								
								quantum/process_keycode/process_backlight.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								quantum/process_keycode/process_backlight.h
									
										
									
									
									
										Normal 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);
 | 
			
		||||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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)              \
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 */
 | 
			
		||||
 | 
			
		||||
/** @} */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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.
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue