wip:
This commit is contained in:
		@@ -5,7 +5,7 @@
 | 
				
			|||||||
#include "avr_port.h"
 | 
					#include "avr_port.h"
 | 
				
			||||||
#include "stdbool.h"
 | 
					#include "stdbool.h"
 | 
				
			||||||
#include "avr/interrupt.h"
 | 
					#include "avr/interrupt.h"
 | 
				
			||||||
// #include "avr/pgmspace.h"
 | 
					#include "util/delay.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define ZH_AVR_AC_DIMMER_INIT_CONFIG_DEFAULT() \
 | 
					#define ZH_AVR_AC_DIMMER_INIT_CONFIG_DEFAULT() \
 | 
				
			||||||
    {                                          \
 | 
					    {                                          \
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -83,17 +83,16 @@ void zh_avr_ac_dimmer_isr_handler(void)
 | 
				
			|||||||
                {
 | 
					                {
 | 
				
			||||||
                case AVR_PORTB:
 | 
					                case AVR_PORTB:
 | 
				
			||||||
                    PORTB |= (1 << _init_config.triac_gpio);
 | 
					                    PORTB |= (1 << _init_config.triac_gpio);
 | 
				
			||||||
                    asm("nop");
 | 
					                    _delay_us(5);
 | 
				
			||||||
                    PORTB &= ~(1 << _init_config.triac_gpio);
 | 
					                    PORTB &= ~(1 << _init_config.triac_gpio);
 | 
				
			||||||
                    break;
 | 
					                    break;
 | 
				
			||||||
                case AVR_PORTC:
 | 
					                case AVR_PORTC:
 | 
				
			||||||
                    PORTC |= (1 << _init_config.triac_gpio);
 | 
					                    PORTC |= (1 << _init_config.triac_gpio);
 | 
				
			||||||
                    asm("nop");
 | 
					                    _delay_us(5);
 | 
				
			||||||
                    PORTC &= ~(1 << _init_config.triac_gpio);
 | 
					                    PORTC &= ~(1 << _init_config.triac_gpio);
 | 
				
			||||||
                    break;
 | 
					 | 
				
			||||||
                case AVR_PORTD:
 | 
					                case AVR_PORTD:
 | 
				
			||||||
                    PORTD |= (1 << _init_config.triac_gpio);
 | 
					                    PORTD |= (1 << _init_config.triac_gpio);
 | 
				
			||||||
                    asm("nop");
 | 
					                    _delay_us(5);
 | 
				
			||||||
                    PORTD &= ~(1 << _init_config.triac_gpio);
 | 
					                    PORTD &= ~(1 << _init_config.triac_gpio);
 | 
				
			||||||
                    break;
 | 
					                    break;
 | 
				
			||||||
                default:
 | 
					                default:
 | 
				
			||||||
@@ -240,23 +239,22 @@ ISR(TIMER0_COMPA_vect)
 | 
				
			|||||||
    if (_dimmer_count == (100 - _dimmer_value))
 | 
					    if (_dimmer_count == (100 - _dimmer_value))
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        _dimmer_count = 0;
 | 
					        _dimmer_count = 0;
 | 
				
			||||||
        TCCR0B &= ~_prescaler;
 | 
					        TCCR0B = 0;
 | 
				
			||||||
        TIMSK0 &= ~(1 << OCIE0A);
 | 
					        TIMSK0 = 0;
 | 
				
			||||||
        switch (_init_config.triac_port)
 | 
					        switch (_init_config.triac_port)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
        case AVR_PORTB:
 | 
					        case AVR_PORTB:
 | 
				
			||||||
            PORTB |= (1 << _init_config.triac_gpio);
 | 
					            PORTB |= (1 << _init_config.triac_gpio);
 | 
				
			||||||
            asm("nop");
 | 
					            _delay_us(5);
 | 
				
			||||||
            PORTB &= ~(1 << _init_config.triac_gpio);
 | 
					            PORTB &= ~(1 << _init_config.triac_gpio);
 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
        case AVR_PORTC:
 | 
					        case AVR_PORTC:
 | 
				
			||||||
            PORTC |= (1 << _init_config.triac_gpio);
 | 
					            PORTC |= (1 << _init_config.triac_gpio);
 | 
				
			||||||
            asm("nop");
 | 
					            _delay_us(5);
 | 
				
			||||||
            PORTC &= ~(1 << _init_config.triac_gpio);
 | 
					            PORTC &= ~(1 << _init_config.triac_gpio);
 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
        case AVR_PORTD:
 | 
					        case AVR_PORTD:
 | 
				
			||||||
            PORTD |= (1 << _init_config.triac_gpio);
 | 
					            PORTD |= (1 << _init_config.triac_gpio);
 | 
				
			||||||
            asm("nop");
 | 
					            _delay_us(5);
 | 
				
			||||||
            PORTD &= ~(1 << _init_config.triac_gpio);
 | 
					            PORTD &= ~(1 << _init_config.triac_gpio);
 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
        default:
 | 
					        default:
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user