diff options
author | Takeshi ISHII <2170248+mtei@users.noreply.github.com> | 2018-10-23 03:38:05 +0900 |
---|---|---|
committer | Drashna Jaelre <drashna@live.com> | 2018-10-22 11:38:05 -0700 |
commit | 4665e4ffffcdfc6fe6f498928963adc64f6fefd7 (patch) | |
tree | 84965f640896bdbf28977eb98abeeded509a614d /keyboards/helix/serial.h | |
parent | fbc6bd82664f7286e358e14da6c7945aa061ee3b (diff) | |
download | qmk_firmware-4665e4ffffcdfc6fe6f498928963adc64f6fefd7.tar.gz |
Keyboard: Helix serial.c, split_scom.c bug fix and update (#4191)
* helix/serial.c add support PD1,PD3,PE6 and configuration simplify
* Add comment about ATmega32U4 I2C
* Add compile time check for ATmega32U4 I2C
* change TAB code to 8 SPACE code
* Helix serial.c PORTD,PD0 test. OK
OK PD0
- PD1
OK PD2
- PD3
- PE6
* Helix serial.c PORTD,PD1 test. OK
OK PD0
OK PD1
OK PD2
- PD3
- PE6
* Helix serial.c PORTD,PD3 test. OK
OK PD0
OK PD1
OK PD2
OK PD3
- PE6
* Helix serial.c PORTE,PD6 test. OK
OK PD0
OK PD1
OK PD2
OK PD3
OK PE6
* Helix serial.c: PD0,PD1,PD3,PE6 all test end
* Helix serial.c: rename SOFT_SERIAL_PORT to SOFT_SERIAL_PIN
* Helix serial.c add debug code
* Helix serial.c: add transaction ID range check
* Helix serial.c debug code update
* Helix serial.c debug code update
* Helix serial.c: Strict checking of the value of tid.
* adjust the delay of serial.c
* Helix serial.c: remove debug code
* remove EXTRAFLAGS += -DCONSOLE_ENABLE from five_rows/rules.mk
tmk_core/common.mk has
>ifeq ($(strip $(CONSOLE_ENABLE)), yes)
> TMK_COMMON_DEFS += -DCONSOLE_ENABLE
* Fix error handling in split_scomm.c
* add some comment to serial.c
* add some comment about SELECT_SOFT_SERIAL_SPEED
Diffstat (limited to 'keyboards/helix/serial.h')
-rw-r--r-- | keyboards/helix/serial.h | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/keyboards/helix/serial.h b/keyboards/helix/serial.h index d2b7fd8e6..7e0c0847a 100644 --- a/keyboards/helix/serial.h +++ b/keyboards/helix/serial.h @@ -4,14 +4,16 @@ #include <stdbool.h> // ///////////////////////////////////////////////////////////////// -// Need Soft Serial defines in serial_config.h +// Need Soft Serial defines in config.h // ///////////////////////////////////////////////////////////////// // ex. -// #define SERIAL_PIN_DDR DDRD -// #define SERIAL_PIN_PORT PORTD -// #define SERIAL_PIN_INPUT PIND -// #define SERIAL_PIN_MASK _BV(PD?) ?=0,2 -// #define SERIAL_PIN_INTERRUPT INT?_vect ?=0,2 +// #define SOFT_SERIAL_PIN ?? // ?? = D0,D1,D2,D3,E6 +// OPTIONAL: #define SELECT_SOFT_SERIAL_SPEED ? // ? = 1,2,3,4,5 +// // 1: about 137kbps (default) +// // 2: about 75kbps +// // 3: about 39kbps +// // 4: about 26kbps +// // 5: about 20kbps // // //// USE Simple API (OLD API, compatible with let's split serial.c) // ex. @@ -47,16 +49,18 @@ typedef struct _SSTD_t { uint8_t target2initiator_buffer_size; uint8_t *target2initiator_buffer; } SSTD_t; +#define TID_LIMIT( table ) (sizeof(table) / sizeof(SSTD_t)) // initiator is transaction start side -void soft_serial_initiator_init(SSTD_t *sstd_table); +void soft_serial_initiator_init(SSTD_t *sstd_table, int sstd_table_size); // target is interrupt accept side -void soft_serial_target_init(SSTD_t *sstd_table); +void soft_serial_target_init(SSTD_t *sstd_table, int sstd_table_size); // initiator resullt #define TRANSACTION_END 0 #define TRANSACTION_NO_RESPONSE 0x1 #define TRANSACTION_DATA_ERROR 0x2 +#define TRANSACTION_TYPE_ERROR 0x4 #ifndef SERIAL_USE_MULTI_TRANSACTION int soft_serial_transaction(void); #else @@ -72,7 +76,7 @@ int soft_serial_transaction(int sstd_index); // target: // TRANSACTION_DATA_ERROR // or TRANSACTION_ACCEPTED -#define TRANSACTION_ACCEPTED 0x4 +#define TRANSACTION_ACCEPTED 0x8 #ifdef SERIAL_USE_MULTI_TRANSACTION int soft_serial_get_and_clean_status(int sstd_index); #endif |