added support for MicroSpeed MacTRAC 2.0

This commit is contained in:
demik 2021-10-30 15:06:51 +02:00
parent 891e537a89
commit 441cbe9bc7
3 changed files with 14 additions and 1 deletions

View File

@ -1,3 +1,6 @@
## v1.4.2 (unreleased)
- added support for MicroSpeed MacTRAC 2.0
## v1.4.1
- update to ESP-IDF v4.2.2:
- https://github.com/espressif/esp-idf/releases/tag/v4.2.2

View File

@ -139,7 +139,12 @@ void adb_probe(void) {
register3 = adb_rx_mouse();
ESP_LOGD("ADB", "Device $3 register3: %x", register3);
if ((register3 & ADB_H_ALL) == ADB_H_C100) {
if (register3 && (register3 & ADB_H_ALL) == ADB_H_ERR)
ESP_LOGE(TAG, "Mouse failed self init test");
/* Accept all known handlers */
if (((register3 & ADB_H_ALL) == ADB_H_C100) || ((register3 & ADB_H_ALL) == ADB_H_C200) ||
((register3 & ADB_H_ALL) == ADB_H_MTRC)) {
ESP_LOGI(TAG, "... detected mouse at $3");
break;
}
@ -163,6 +168,9 @@ void adb_probe(void) {
case ADB_H_C200:
ESP_LOGD(TAG, "Mouse running at 200cpi");
break;
case ADB_H_MTRC:
ESP_LOGD(TAG, "MacTRAC running at default cpi");
break;
default:
ESP_LOGE(TAG, "Mouse running with unknow handler: %x", register3 & ADB_H_ALL);
}

View File

@ -66,8 +66,10 @@ void adb_tx_reset(void);
#define ADB_B_DOWN 1
#define ADB_H_ALL 0xff // Handlers bitmask
#define ADB_H_ERR 0x00 // Handler 0 (Self init error)
#define ADB_H_C100 0x01 // Handler 1 (Classic @ 100cpi)
#define ADB_H_C200 0x02 // Handler 2 (Classic @ 200cpi)
#define ADB_H_MTRC 0x2f // Handler for MacTRAC 2.0
#define ADB_H_MOVE 0xfe // Move to another address
/* Host states */