/* This file has been auto-generated by WebbotLib tools V1.1 ** DO NOT MODIFY BY HAND ** */ #define BUILDING_LIBRARY #include "lib_iopins.h" #include <avr/io.h> // ----------- Define the used ports ------------ static IOPort PROGMEM _PORTB={_SFR_MEM_ADDR(PORTB),_SFR_MEM_ADDR(DDRB),_SFR_MEM_ADDR(PINB)}; static IOPort PROGMEM _PORTC={_SFR_MEM_ADDR(PORTC),_SFR_MEM_ADDR(DDRC),_SFR_MEM_ADDR(PINC)}; static IOPort PROGMEM _PORTD={_SFR_MEM_ADDR(PORTD),_SFR_MEM_ADDR(DDRD),_SFR_MEM_ADDR(PIND)}; static IOPort PROGMEM _PORTE={_SFR_MEM_ADDR(PORTE),_SFR_MEM_ADDR(DDRE),_SFR_MEM_ADDR(PINE)}; static IOPort PROGMEM _PORTG={_SFR_MEM_ADDR(PORTG),_SFR_MEM_ADDR(DDRG),_SFR_MEM_ADDR(PING)}; static IOPort PROGMEM _PORTH={_SFR_MEM_ADDR(PORTH),_SFR_MEM_ADDR(DDRH),_SFR_MEM_ADDR(PINH)}; static IOPort PROGMEM _PORTL={_SFR_MEM_ADDR(PORTL),_SFR_MEM_ADDR(DDRL),_SFR_MEM_ADDR(PINL)}; // ----------- Define the used pins ------------ IOPin PROGMEM _B4 = { &_PORTB, BV(4)}; IOPin PROGMEM _B5 = { &_PORTB, BV(5)}; IOPin PROGMEM _B6 = { &_PORTB, BV(6)}; IOPin PROGMEM _B7 = { &_PORTB, BV(7)}; IOPin PROGMEM _C0 = { &_PORTC, BV(0)}; IOPin PROGMEM _C1 = { &_PORTC, BV(1)}; IOPin PROGMEM _C2 = { &_PORTC, BV(2)}; IOPin PROGMEM _C3 = { &_PORTC, BV(3)}; IOPin PROGMEM _C4 = { &_PORTC, BV(4)}; IOPin PROGMEM _C5 = { &_PORTC, BV(5)}; IOPin PROGMEM _D2 = { &_PORTD, BV(2)}; IOPin PROGMEM _D3 = { &_PORTD, BV(3)}; IOPin PROGMEM _D5 = { &_PORTD, BV(5)}; IOPin PROGMEM _D6 = { &_PORTD, BV(6)};
if (val) TCCR4B |= (1 << PWM4X); else TCCR4B &= ~(1 << PWM4X); return 0; } /* FIXME: labels should be configurable. Here, yun board mapping is * temporarly fixed in the src */ const struct pwm PROGMEM pwms[] = { { /* OC0B */ .label = "D3", .tim_res_ns = 15625, .tim_max_mul = 256, .tim_id = 0, .ctl_reg = _SFR_MEM_ADDR(TCCR0A), .en_msk = 1 << COM0B1, .pol_msk = 1 << COM0B0, .dir_reg = _SFR_MEM_ADDR(DDRD), .dir_msk = (1 << DDD0), .ops = {pwm_en, pwm_dis, pwm_get_period_default, pwm_get_duty_0b, NULL, pwm_set_duty_0b, pwm_get_polarity, pwm_set_polarity, init_timer0, deinit_timer0, }