Merge remote-tracking branch 'origin/master' into develop
This commit is contained in:
		| @@ -38,33 +38,36 @@ POSSIBILITY OF SUCH DAMAGE. | ||||
|  | ||||
| #pragma once | ||||
|  | ||||
| #define XT_DATA_IN()                        \ | ||||
|     do {                                    \ | ||||
|         XT_DATA_DDR &= ~(1 << XT_DATA_BIT); \ | ||||
|         XT_DATA_PORT |= (1 << XT_DATA_BIT); \ | ||||
| #include "quantum.h" | ||||
|  | ||||
| #define XT_DATA_IN()               \ | ||||
|     do {                           \ | ||||
|         setPinInput(XT_DATA_PIN);  \ | ||||
|         writePinHigh(XT_DATA_PIN); \ | ||||
|     } while (0) | ||||
|  | ||||
| #define XT_DATA_READ() (XT_DATA_PIN & (1 << XT_DATA_BIT)) | ||||
| #define XT_DATA_READ() readPin(XT_DATA_PIN) | ||||
|  | ||||
| #define XT_DATA_LO()                         \ | ||||
|     do {                                     \ | ||||
|         XT_DATA_PORT &= ~(1 << XT_DATA_BIT); \ | ||||
|         XT_DATA_DDR |= (1 << XT_DATA_BIT);   \ | ||||
| #define XT_DATA_LO()               \ | ||||
|     do {                           \ | ||||
|         writePinLow(XT_DATA_PIN);  \ | ||||
|         setPinOutput(XT_DATA_PIN); \ | ||||
|     } while (0) | ||||
|  | ||||
| #define XT_CLOCK_IN()                         \ | ||||
|     do {                                      \ | ||||
|         XT_CLOCK_DDR &= ~(1 << XT_CLOCK_BIT); \ | ||||
|         XT_CLOCK_PORT |= (1 << XT_CLOCK_BIT); \ | ||||
| #define XT_CLOCK_IN()               \ | ||||
|     do {                            \ | ||||
|         setPinInput(XT_CLOCK_PIN);  \ | ||||
|         writePinHigh(XT_CLOCK_PIN); \ | ||||
|     } while (0) | ||||
|  | ||||
| #define XT_CLOCK_READ() (XT_CLOCK_PIN & (1 << XT_CLOCK_BIT)) | ||||
| #define XT_CLOCK_READ() readPin(XT_CLOCK_PIN) | ||||
|  | ||||
| #define XT_CLOCK_LO()                          \ | ||||
|     do {                                       \ | ||||
|         XT_CLOCK_PORT &= ~(1 << XT_CLOCK_BIT); \ | ||||
|         XT_CLOCK_DDR |= (1 << XT_CLOCK_BIT);   \ | ||||
| #define XT_CLOCK_LO()               \ | ||||
|     do {                            \ | ||||
|         writePinLow(XT_CLOCK_PIN);  \ | ||||
|         setPinOutput(XT_CLOCK_PIN); \ | ||||
|     } while (0) | ||||
|  | ||||
| void    xt_host_init(void); | ||||
|  | ||||
| uint8_t xt_host_recv(void); | ||||
|   | ||||
| @@ -38,7 +38,6 @@ POSSIBILITY OF SUCH DAMAGE. | ||||
|  | ||||
| #include <stdbool.h> | ||||
| #include <avr/interrupt.h> | ||||
| #include <util/delay.h> | ||||
| #include "xt.h" | ||||
| #include "wait.h" | ||||
| #include "debug.h" | ||||
| @@ -60,7 +59,7 @@ void xt_host_init(void) { | ||||
|     /* soft reset: pull clock line down for 20ms */ | ||||
|     XT_DATA_LO(); | ||||
|     XT_CLOCK_LO(); | ||||
|     _delay_ms(20); | ||||
|     wait_ms(20); | ||||
|  | ||||
|     /* input mode with pullup */ | ||||
|     XT_CLOCK_IN(); | ||||
| @@ -123,6 +122,7 @@ ISR(XT_INT_VECT) { | ||||
| static uint8_t     pbuf[PBUF_SIZE]; | ||||
| static uint8_t     pbuf_head = 0; | ||||
| static uint8_t     pbuf_tail = 0; | ||||
|  | ||||
| static inline void pbuf_enqueue(uint8_t data) { | ||||
|     uint8_t sreg = SREG; | ||||
|     cli(); | ||||
| @@ -135,6 +135,7 @@ static inline void pbuf_enqueue(uint8_t data) { | ||||
|     } | ||||
|     SREG = sreg; | ||||
| } | ||||
|  | ||||
| static inline uint8_t pbuf_dequeue(void) { | ||||
|     uint8_t val = 0; | ||||
|  | ||||
| @@ -148,6 +149,7 @@ static inline uint8_t pbuf_dequeue(void) { | ||||
|  | ||||
|     return val; | ||||
| } | ||||
|  | ||||
| static inline bool pbuf_has_data(void) { | ||||
|     uint8_t sreg = SREG; | ||||
|     cli(); | ||||
| @@ -155,6 +157,7 @@ static inline bool pbuf_has_data(void) { | ||||
|     SREG          = sreg; | ||||
|     return has_data; | ||||
| } | ||||
|  | ||||
| static inline void pbuf_clear(void) { | ||||
|     uint8_t sreg = SREG; | ||||
|     cli(); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user