Skip to content

Commit 7eb9bca

Browse files
committed
[rs232] tweaks.
1 parent 9babb13 commit 7eb9bca

File tree

5 files changed

+32
-9
lines changed

5 files changed

+32
-9
lines changed

include/pinmap/rs232_rev0.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@
1414
#define PIN_UART0_TX GPIO_NUM_1 // USB Serial
1515
#define PIN_UART1_RX GPIO_NUM_13 // RS232
1616
#define PIN_UART1_TX GPIO_NUM_21 // RS232
17-
//#define PIN_UART2_RX GPIO_NUM_33
18-
//#define PIN_UART2_TX GPIO_NUM_21
1917

2018
/* Buttons - keys.cpp */
2119
#define PIN_BUTTON_A GPIO_NUM_0 // Button 0 on DEVKITC-VE

lib/bus/rs232/rs232.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -297,11 +297,11 @@ void systemBus::setup()
297297
// Set up UART
298298
fnUartBUS.begin(_rs232Baud);
299299

300-
// INT PIN
301-
fnSystem.set_pin_mode(PIN_RS232_RI, gpio_mode_t::GPIO_MODE_OUTPUT_OD, SystemManager::pull_updown_t::PULL_UP);
302-
fnSystem.digital_write(PIN_RS232_RI, DIGI_HIGH);
300+
// // INT PIN
301+
// fnSystem.set_pin_mode(PIN_RS232_RI, gpio_mode_t::GPIO_MODE_OUTPUT_OD, SystemManager::pull_updown_t::PULL_UP);
302+
// fnSystem.digital_write(PIN_RS232_RI, DIGI_HIGH);
303303
// PROC PIN
304-
fnSystem.set_pin_mode(PIN_RS232_RI, gpio_mode_t::GPIO_MODE_OUTPUT_OD, SystemManager::pull_updown_t::PULL_UP);
304+
fnSystem.set_pin_mode(PIN_RS232_RI, gpio_mode_t::GPIO_MODE_OUTPUT, SystemManager::pull_updown_t::PULL_UP);
305305
fnSystem.digital_write(PIN_RS232_RI, DIGI_HIGH);
306306
// INVALID PIN
307307
//fnSystem.set_pin_mode(PIN_RS232_INVALID, PINMODE_INPUT | PINMODE_PULLDOWN); // There's no PULLUP/PULLDOWN on pins 34-39

lib/device/rs232/fuji.cpp

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1470,9 +1470,11 @@ rs232Disk *rs232Fuji::bootdisk()
14701470

14711471
void rs232Fuji::rs232_test()
14721472
{
1473+
uint8_t buf[512];
1474+
14731475
Debug_printf("rs232_test()\n");
1474-
vTaskDelay(1);
1475-
rs232_complete();
1476+
memset(buf,'A',512);
1477+
bus_to_computer(buf,512,false);
14761478
}
14771479

14781480
void rs232Fuji::rs232_process(uint32_t commanddata, uint8_t checksum)
@@ -1624,6 +1626,11 @@ void rs232Fuji::rs232_process(uint32_t commanddata, uint8_t checksum)
16241626
rs232_ack();
16251627
rs232_enable_udpstream();
16261628
break;
1629+
case FUJICMD_DEVICE_READY:
1630+
Debug_printf("FUJICMD DEVICE TEST\n");
1631+
rs232_ack();
1632+
rs232_test();
1633+
break;
16271634
default:
16281635
rs232_nak();
16291636
}

lib/device/rs232/network.cpp

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -811,6 +811,18 @@ void rs232Network::rs232_process(uint32_t commanddata, uint8_t checksum)
811811
case 'S':
812812
rs232_status();
813813
break;
814+
case 'P':
815+
rs232_ack();
816+
rs232_parse_json();
817+
break;
818+
case 'Q':
819+
rs232_ack();
820+
rs232_set_json_query();
821+
break;
822+
case 0xFC:
823+
rs232_ack();
824+
rs232_set_channel_mode();
825+
break;
814826
case 0xFF:
815827
rs232_special_inquiry();
816828
break;
@@ -836,6 +848,8 @@ void rs232Network::rs232_poll_interrupt()
836848

837849
if (status.rxBytesWaiting > 0 || status.connected == 0)
838850
rs232_assert_interrupt();
851+
else
852+
fnSystem.digital_write(PIN_RS232_RI,DIGI_HIGH);
839853

840854
reservedSave = status.connected;
841855
errorSave = status.error;
@@ -996,7 +1010,7 @@ void rs232Network::processCommaFromDevicespec()
9961010
* Called to pulse the PROCEED interrupt, rate limited by the interrupt timer.
9971011
*/
9981012
void rs232Network::rs232_assert_interrupt()
999-
{
1013+
{
10001014
fnSystem.digital_write(PIN_RS232_RI, interruptProceed == true ? DIGI_HIGH : DIGI_LOW);
10011015
}
10021016

@@ -1031,6 +1045,7 @@ void rs232Network::rs232_set_json_query()
10311045

10321046
inp = strrchr((const char *)in, ':');
10331047
inp++;
1048+
Debug_printv("Q: %s\n",in);
10341049
json.setReadQuery(string(inp),cmdFrame.aux2);
10351050
json_bytes_remaining = json.readValueLen();
10361051
tmp = (uint8_t *)malloc(json.readValueLen());

src/main.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,9 @@ void main_setup(int argc, char *argv[])
302302
theFuji.setup(&RS232);
303303
RS232.setup();
304304
RS232.addDevice(&theFuji,0x70);
305+
if (Config.get_apetime_enabled() == true)
306+
RS232.addDevice(&apeTime, RS232_DEVICEID_APETIME); // Clock for Atari, APETime compatible, but extended for additional return types
307+
305308
#endif
306309

307310
#ifdef BUILD_RC2014

0 commit comments

Comments
 (0)