diff options
author | Karel Kočí <cynerd@email.cz> | 2015-11-11 15:26:01 +0100 |
---|---|---|
committer | Karel Kočí <cynerd@email.cz> | 2015-11-11 15:26:13 +0100 |
commit | 4e773191d447ac434536262a6f204dd991d4ad77 (patch) | |
tree | fd3e56c5e7478286f21aa1e808999a1a80179a9f | |
parent | 96d4026f492b56ac67779ab8e74ed4c483337ec7 (diff) | |
download | avr-ioe-4e773191d447ac434536262a6f204dd991d4ad77.tar.gz avr-ioe-4e773191d447ac434536262a6f204dd991d4ad77.tar.bz2 avr-ioe-4e773191d447ac434536262a6f204dd991d4ad77.zip |
tmp
-rw-r--r-- | KNOWN-PROBLEMS.md | 4 | ||||
-rw-r--r-- | adc.h | 9 | ||||
-rw-r--r-- | conffile | 4 | ||||
-rw-r--r-- | examples/dht22usart/dht22.c | 2 | ||||
-rw-r--r-- | examples/dht22usart/makefile | 3 | ||||
-rw-r--r-- | sensor_dht22.h | 6 | ||||
-rw-r--r-- | src/sensor_dht22.c | 9 | ||||
-rw-r--r-- | tasks.h | 9 |
8 files changed, 33 insertions, 13 deletions
diff --git a/KNOWN-PROBLEMS.md b/KNOWN-PROBLEMS.md index a5862c8..65a126b 100644 --- a/KNOWN-PROBLEMS.md +++ b/KNOWN-PROBLEMS.md @@ -2,5 +2,5 @@ USART ----- * Third char is lost when USART is used with output buffer. Probably buffer problem or some synchronization problem. This happens only after start. So - problem is probably connected with buffers initialization. But simulation not - revealed any problem. + problem is probably connected with buffers initialization. But simulation didn't + reveale any problems. @@ -0,0 +1,9 @@ +#include <avr/io.h> +#include <avr/interrupt.h> +#include <stdint.h> + +#ifndef _IOE_ADC_H_ +#define _IOE_ADC_H_ + + +#endif /* _IOE_ADC_H_ */ @@ -4,8 +4,8 @@ MCU:: menu "MCU name" F_CPU:: - type int - default 16000000 + type float + default 16 menu "CPU frequency" ################################################################################# diff --git a/examples/dht22usart/dht22.c b/examples/dht22usart/dht22.c index 97a91ee..ec643aa 100644 --- a/examples/dht22usart/dht22.c +++ b/examples/dht22usart/dht22.c @@ -3,7 +3,7 @@ #include <util/delay.h> #include <string.h> #include "../../usart.h" -#include "../../sensor_dht22.h" +//#include "../../sensor_dht22.h" void rec(uint8_t data) { if (data == '\r') { diff --git a/examples/dht22usart/makefile b/examples/dht22usart/makefile index 214aa63..fb69068 100644 --- a/examples/dht22usart/makefile +++ b/examples/dht22usart/makefile @@ -15,7 +15,8 @@ IOE_CFLAGS = -Os -ffunction-sections -fdata-sections -fshort-enums -Wall \ -DCONFIG_IOE_USART_STOPBIT=USART_STOPBIT_SINGLE \ -DCONFIG_IOE_USART_DATABITS=8 \ -DCONFIG_IOE_TIMERS \ - -DCONFIG_IOE_SENSOR_DHT22 + -DCONFIG_IOE_SENSOR_DHT22 \ + -DCONFIG_IOE_SENSOR_DHT22_TIMER=COUNTER0_PWM all: dht22.hex @echo Now you can flash dht22.hex to your chip. diff --git a/sensor_dht22.h b/sensor_dht22.h index 0776b77..6ddcf9c 100644 --- a/sensor_dht22.h +++ b/sensor_dht22.h @@ -5,8 +5,8 @@ #include "tasks.h" #include "timer.h" -#ifndef _DHT22_H_ -#define _DHT22_H_ +#ifndef _IOE_SENSOR_DHT22_H_ +#define _IOE_SENSOR_DHT22_H_ struct dht22_value { uint8_t integral; @@ -36,4 +36,4 @@ void dht22_init(uint8_t port); int8_t dht22_read(uint8_t portindex, struct dht22_value *rh, struct dht22_value *t); -#endif /* _DHT22_H_ */ +#endif /* _IOE_SENSOR_DHT22_H_ */ diff --git a/src/sensor_dht22.c b/src/sensor_dht22.c index 0ae7c01..7791060 100644 --- a/src/sensor_dht22.c +++ b/src/sensor_dht22.c @@ -35,7 +35,7 @@ inline void dht22_init(uint8_t pi) { inline void dht22_read_deac(uint8_t status) { - dht22_measurement.status = status; + dht22_measurement.status = status; // Disable pin change interrupt *(PPP.PCMSK) &= ~PPP.PCMSK_MASK; timer_disable(CONFIG_IOE_SENSOR_DHT22_TIMER); @@ -65,8 +65,8 @@ void dht22_read_pcint(void) { } break; default: - if (((*(PPP.PIN) & PPP.MASK) && dht22_measurement.port_status == 3) || - !(*(PPP.PIN & PPP.MASK))) + if (((*(PPP.PIN) & PPP.MASK) && dht22_measurement.port_status == 3) + || !(*(PPP.PIN & PPP.MASK))) return; dht22_measurement.port_status--; } @@ -89,7 +89,8 @@ int8_t dht22_read(uint8_t pi, struct dht22_value *rh, _delay_us(500); // Initialize timer timer_init(CONFIG_IOE_SENSOR_DHT22_TIMER, TIMER_DIVIDER_64); - timer_sethook(CONFIG_IOE_SENSOR_DHT22_TIMER, dht22_read_timer_overflow); + timer_sethook(CONFIG_IOE_SENSOR_DHT22_TIMER, + dht22_read_timer_overflow); // Set pin change interrupt *(PP.PCMSK) |= PP.PCMSK_MASK; // Set port as output and pull-up resistor @@ -25,6 +25,15 @@ int8_t taskDelayTillT(int8_t *boolean, uin16_t us); void taskDelayTillF(int8_t (*fnc)(void)); void taskDelayTillFT(int8_t (*fnc)(void), uint16_t us); +struct Mutex { +}; +void takeMutex(void); +int8_t takeMutexT(uint16_t timeout); +void giveMutex(void); + +struct Semaphore { +}; + #else /* CONFIG_IOE_TASKS */ #define taskDelay(US) _delay_us(US) |