~ruther/qmk_firmware

91bd2117df4cc4d2be6c840103614f2245e54bd1 — fauxpark 6 years ago c21281c
Banish some more magic numbers (#6662)

2 files changed, 13 insertions(+), 19 deletions(-)

M tmk_core/common/avr/bootloader.c
M tmk_core/common/avr/timer.c
M tmk_core/common/avr/bootloader.c => tmk_core/common/avr/bootloader.c +3 -8
@@ 59,11 59,6 @@
uint16_t bootloader_start;
#endif

#define BOOT_SIZE_256 0b110
#define BOOT_SIZE_512 0b100
#define BOOT_SIZE_1024 0b010
#define BOOT_SIZE_2048 0b000

// compatibility between ATMega8 and ATMega88
#if !defined(MCUCSR)
#    if defined(MCUSR)


@@ 86,11 81,11 @@ void bootloader_jump(void) {
#if !defined(BOOTLOADER_SIZE)
    uint8_t high_fuse = boot_lock_fuse_bits_get(GET_HIGH_FUSE_BITS);

    if (high_fuse & BOOT_SIZE_256) {
    if (high_fuse & ~(FUSE_BOOTSZ0 & FUSE_BOOTSZ1)) {
        bootloader_start = (FLASH_SIZE - 512) >> 1;
    } else if (high_fuse & BOOT_SIZE_512) {
    } else if (high_fuse & ~(FUSE_BOOTSZ1)) {
        bootloader_start = (FLASH_SIZE - 1024) >> 1;
    } else if (high_fuse & BOOT_SIZE_1024) {
    } else if (high_fuse & ~(FUSE_BOOTSZ0)) {
        bootloader_start = (FLASH_SIZE - 2048) >> 1;
    } else {
        bootloader_start = (FLASH_SIZE - 4096) >> 1;

M tmk_core/common/avr/timer.c => tmk_core/common/avr/timer.c +10 -11
@@ 32,33 32,32 @@ volatile uint32_t timer_count;
 */
void timer_init(void) {
#if TIMER_PRESCALER == 1
    uint8_t prescaler = 0x01;
    uint8_t prescaler = _BV(CS00);
#elif TIMER_PRESCALER == 8
    uint8_t prescaler = 0x02;
    uint8_t prescaler = _BV(CS01);
#elif TIMER_PRESCALER == 64
    uint8_t prescaler = 0x03;
    uint8_t prescaler = _BV(CS00) | _BV(CS01);
#elif TIMER_PRESCALER == 256
    uint8_t prescaler = 0x04;
    uint8_t prescaler = _BV(CS02);
#elif TIMER_PRESCALER == 1024
    uint8_t prescaler = 0x05;
    uint8_t prescaler = _BV(CS00) | _BV(CS02);
#else
#    error "Timer prescaler value is NOT vaild."
#    error "Timer prescaler value is not valid"
#endif

#ifndef __AVR_ATmega32A__
    // Timer0 CTC mode
    TCCR0A = 0x02;

    TCCR0A = _BV(WGM01);
    TCCR0B = prescaler;

    OCR0A  = TIMER_RAW_TOP;
    TIMSK0 = (1 << OCIE0A);
    TIMSK0 = _BV(OCIE0A);
#else
    // Timer0 CTC mode
    TCCR0 = (1 << WGM01) | prescaler;
    TCCR0 = _BV(WGM01) | prescaler;

    OCR0  = TIMER_RAW_TOP;
    TIMSK = (1 << OCIE0);
    TIMSK = _BV(OCIE0);
#endif
}