update
This commit is contained in:
@@ -15,9 +15,10 @@ LDFLAGS += -Wl,--gc-sections
|
|||||||
LDFLAGS += -Wl,-u,vfprintf -lprintf_flt
|
LDFLAGS += -Wl,-u,vfprintf -lprintf_flt
|
||||||
|
|
||||||
MAIN_OBJS += main.o
|
MAIN_OBJS += main.o
|
||||||
MAIN_OBJS += contr_main.o
|
MAIN_OBJS += contr.o
|
||||||
MAIN_OBJS += relay.o
|
MAIN_OBJS += relay.o
|
||||||
MAIN_OBJS += contr_init.o
|
MAIN_OBJS += timer.o
|
||||||
|
MAIN_OBJS += adc.o
|
||||||
MAIN_OBJS += eeprom.o
|
MAIN_OBJS += eeprom.o
|
||||||
MAIN_OBJS += i2c.o
|
MAIN_OBJS += i2c.o
|
||||||
MAIN_OBJS += disp.o
|
MAIN_OBJS += disp.o
|
||||||
@@ -36,9 +37,12 @@ $(MAIN_ELF): $(MAIN_OBJS)
|
|||||||
$(CC) $(LDFLAGS) -o $(MAIN_ELF) $(MAIN_OBJS)
|
$(CC) $(LDFLAGS) -o $(MAIN_ELF) $(MAIN_OBJS)
|
||||||
$(SIZE) --format=berkeley $@
|
$(SIZE) --format=berkeley $@
|
||||||
|
|
||||||
|
DEPENDS_DIR = .dep
|
||||||
|
|
||||||
%.o: %.c
|
%.o: %.c
|
||||||
|
@mkdir -p $(DEPENDS_DIR)
|
||||||
$(CC) $(CFLAGS) -c $*.c -o $*.o
|
$(CC) $(CFLAGS) -c $*.c -o $*.o
|
||||||
$(CC) -MM $(CFLAGS) $*.c > $*.d
|
@$(CC) -MM $(CFLAGS) $*.c > $(DEPENDS_DIR)/$*.d
|
||||||
|
|
||||||
|
|
||||||
$(MAIN_HEX): $(MAIN_ELF)
|
$(MAIN_HEX): $(MAIN_ELF)
|
||||||
@@ -57,9 +61,10 @@ download:
|
|||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *.i *.o *.s
|
rm -f *.i *.o *.s
|
||||||
rm -f *.elf *.bin *~ *.hex
|
rm -f *.hex *.elf *.bin
|
||||||
rm -f *.d
|
rm -f *~ *.d
|
||||||
|
rm -rf $(DEPENDS_DIR)
|
||||||
|
|
||||||
-include $(MAIN_OBJS:.o=.d)
|
-include $(DEPENDS_DIR)/$(MAIN_OBJS:.o=.d)
|
||||||
|
|
||||||
#EOF
|
#EOF
|
||||||
|
|||||||
+13
-18
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
#include <tool.h>
|
#include <tool.h>
|
||||||
|
|
||||||
void contr_adc_init() {
|
void adc_init() {
|
||||||
/* Disable ADC */
|
/* Disable ADC */
|
||||||
REG_SETDOWN_BIT(ADCSRA, ADEN);
|
REG_SETDOWN_BIT(ADCSRA, ADEN);
|
||||||
/* Set reference*/
|
/* Set reference*/
|
||||||
@@ -28,21 +28,16 @@ void contr_adc_init() {
|
|||||||
REG_SETUP_BIT(ADCSRA, ADEN);
|
REG_SETUP_BIT(ADCSRA, ADEN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint16_t adc_read(uint8_t channel) {
|
||||||
void contr_timer_init(void) {
|
uint8_t reg = ADMUX;
|
||||||
/* Disable comparators */
|
ADMUX = (reg & 0xF0) | channel;
|
||||||
REG_SETDOWN_BIT(TCCR0A, COM0A1);
|
REG_SETUP_BIT(ADCSRA, ADSC);
|
||||||
REG_SETDOWN_BIT(TCCR0A, COM0A0);
|
while (ADCSRA & BIT(ADSC));
|
||||||
REG_SETDOWN_BIT(TCCR0A, COM0B1);
|
uint16_t lval = (uint16_t)ADCL;
|
||||||
REG_SETDOWN_BIT(TCCR0A, COM0B0);
|
uint16_t hval = (uint16_t)ADCH;
|
||||||
/* Set normal mode */
|
hval = (hval << 8) & 0xFF00;
|
||||||
REG_SETDOWN_BIT(TCCR0A, WGM01);
|
lval = lval & 0x00FF;
|
||||||
REG_SETDOWN_BIT(TCCR0A, WGM00);
|
return hval | lval;
|
||||||
/* Set clock to 1/64 */
|
|
||||||
REG_SETDOWN_BIT(TCCR0B, CS02);
|
|
||||||
REG_SETUP_BIT(TCCR0B, CS01);
|
|
||||||
REG_SETUP_BIT(TCCR0B, CS00);
|
|
||||||
/* Enable timer interrupt */
|
|
||||||
REG_SETUP_BIT(TIMSK0, TOIE0);
|
|
||||||
//REG_SETUP(TCNT0, TIMER_INITVAL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
#ifndef ADC_H_QWERTY
|
||||||
|
#define ADC_H_QWERTY
|
||||||
|
|
||||||
|
#define ACD_CHANELL0 0x00
|
||||||
|
#define ACD_CHANELL2 0x01
|
||||||
|
#define ACD_CHANELL3 0x02
|
||||||
|
#define ACD_CHANELL3 0x03
|
||||||
|
#define ACD_CHANELL4 0x04
|
||||||
|
#define ACD_CHANELL5 0x05
|
||||||
|
#define ACD_CHANELL6 0x06
|
||||||
|
#define ACD_CHANELL7 0x07
|
||||||
|
|
||||||
|
void adc_init(void);
|
||||||
|
uint16_t adc_read(uint8_t channel);
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -17,9 +17,9 @@
|
|||||||
#include <uart.h>
|
#include <uart.h>
|
||||||
#include <temp.h>
|
#include <temp.h>
|
||||||
#include <relay.h>
|
#include <relay.h>
|
||||||
|
#include <timer.h>
|
||||||
|
|
||||||
#include <contr_main.h>
|
#include <contr.h>
|
||||||
#include <contr_init.h>
|
|
||||||
|
|
||||||
#define CONTR_BAND_OFF 0x01
|
#define CONTR_BAND_OFF 0x01
|
||||||
#define CONTR_BAND_10M 0x02
|
#define CONTR_BAND_10M 0x02
|
||||||
@@ -91,8 +91,8 @@ void contr_setup(void) {
|
|||||||
|
|
||||||
|
|
||||||
contr_key_init();
|
contr_key_init();
|
||||||
contr_adc_init();
|
adc_init();
|
||||||
contr_timer_init();
|
timer0_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
#ifndef CONTR_INIT_H_QWERTY
|
|
||||||
#define CONTR_INIT_H_QWERTY
|
|
||||||
|
|
||||||
void contr_timer_init(void);
|
|
||||||
void contr_adc_init(void);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
#include <disp.h>
|
#include <disp.h>
|
||||||
#include <relay.h>
|
#include <relay.h>
|
||||||
|
|
||||||
#include <contr_main.h>
|
#include <contr.h>
|
||||||
|
|
||||||
int main(void) {
|
int main(void) {
|
||||||
uart_init();
|
uart_init();
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright 2017 Oleg Borodin <onborodin@gmail.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <avr/interrupt.h>
|
||||||
|
#include <util/delay.h>
|
||||||
|
|
||||||
|
#include <tool.h>
|
||||||
|
|
||||||
|
void timer0_init(void) {
|
||||||
|
/* Disable comparators */
|
||||||
|
REG_SETDOWN_BIT(TCCR0A, COM0A1);
|
||||||
|
REG_SETDOWN_BIT(TCCR0A, COM0A0);
|
||||||
|
REG_SETDOWN_BIT(TCCR0A, COM0B1);
|
||||||
|
REG_SETDOWN_BIT(TCCR0A, COM0B0);
|
||||||
|
/* Set normal mode */
|
||||||
|
REG_SETDOWN_BIT(TCCR0A, WGM01);
|
||||||
|
REG_SETDOWN_BIT(TCCR0A, WGM00);
|
||||||
|
/* Set clock to 1/64 */
|
||||||
|
REG_SETDOWN_BIT(TCCR0B, CS02);
|
||||||
|
REG_SETUP_BIT(TCCR0B, CS01);
|
||||||
|
REG_SETUP_BIT(TCCR0B, CS00);
|
||||||
|
/* Enable timer interrupt */
|
||||||
|
REG_SETUP_BIT(TIMSK0, TOIE0);
|
||||||
|
//REG_SETUP(TCNT0, TIMER_INITVAL);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
#ifndef CONTR_INIT_H_QWERTY
|
||||||
|
#define CONTR_INIT_H_QWERTY
|
||||||
|
|
||||||
|
#define ACD_CHANELL0 0x00
|
||||||
|
#define ACD_CHANELL1 0x01
|
||||||
|
#define ACD_CHANELL2 0x02
|
||||||
|
#define ACD_CHANELL3 0x03
|
||||||
|
#define ACD_CHANELL4 0x04
|
||||||
|
#define ACD_CHANELL5 0x05
|
||||||
|
#define ACD_CHANELL6 0x06
|
||||||
|
#define ACD_CHANELL7 0x07
|
||||||
|
|
||||||
|
void adc_init(void);
|
||||||
|
uint16_t adc_read(uint8_t channel);
|
||||||
|
|
||||||
|
void timer0_init(void);
|
||||||
|
|
||||||
|
#endif
|
||||||
Reference in New Issue
Block a user