Support for status set from the core.
This commit is contained in:
9
spi.cpp
9
spi.cpp
@@ -210,16 +210,17 @@ void spi_osd_cmd32le(uint8_t cmd, uint32_t parm)
|
||||
}
|
||||
|
||||
/* User_io related SPI functions */
|
||||
void spi_uio_cmd_cont(uint8_t cmd)
|
||||
uint8_t spi_uio_cmd_cont(uint8_t cmd)
|
||||
{
|
||||
EnableIO();
|
||||
spi8(cmd);
|
||||
return spi_b(cmd);
|
||||
}
|
||||
|
||||
void spi_uio_cmd(uint8_t cmd)
|
||||
uint8_t spi_uio_cmd(uint8_t cmd)
|
||||
{
|
||||
spi_uio_cmd_cont(cmd);
|
||||
uint8_t res = spi_uio_cmd_cont(cmd);
|
||||
DisableIO();
|
||||
return res;
|
||||
}
|
||||
|
||||
void spi_uio_cmd8_cont(uint8_t cmd, uint8_t parm)
|
||||
|
||||
4
spi.h
4
spi.h
@@ -51,8 +51,8 @@ void spi_osd_cmd32le_cont(uint8_t cmd, uint32_t parm);
|
||||
void spi_osd_cmd32le(uint8_t cmd, uint32_t parm);
|
||||
|
||||
/* User_io related SPI functions */
|
||||
void spi_uio_cmd_cont(uint8_t cmd);
|
||||
void spi_uio_cmd(uint8_t cmd);
|
||||
uint8_t spi_uio_cmd_cont(uint8_t cmd);
|
||||
uint8_t spi_uio_cmd(uint8_t cmd);
|
||||
void spi_uio_cmd8(uint8_t cmd, uint8_t parm);
|
||||
void spi_uio_cmd8_cont(uint8_t cmd, uint8_t parm);
|
||||
void spi_uio_cmd16(uint8_t cmd, uint16_t parm);
|
||||
|
||||
15
user_io.cpp
15
user_io.cpp
@@ -1554,6 +1554,21 @@ void user_io_poll()
|
||||
DisableIO();
|
||||
*/
|
||||
|
||||
static u_int8_t last_status_change = 0;
|
||||
char stchg = spi_uio_cmd_cont(UIO_GET_STATUS);
|
||||
if ((stchg & 0xF0) == 0xA0 && last_status_change != (stchg & 0xF))
|
||||
{
|
||||
last_status_change = (stchg & 0xF);
|
||||
uint32_t st = spi32w(0);
|
||||
DisableIO();
|
||||
user_io_8bit_set_status(st, ~UIO_STATUS_RESET);
|
||||
//printf("** new status from core: %08X\n", st);
|
||||
}
|
||||
else
|
||||
{
|
||||
DisableIO();
|
||||
}
|
||||
|
||||
// sd card emulation
|
||||
if (is_x86_core())
|
||||
{
|
||||
|
||||
@@ -61,6 +61,7 @@
|
||||
#define UIO_AUDVOL 0x26 // Digital volume as a number of bits to shift to the right
|
||||
#define UIO_SETHEIGHT 0x27 // Set scaled vertical resolution (to reduce scaling artefacts)
|
||||
#define UIO_GETUARTFLG 0x28 // Get UART_FLG_*
|
||||
#define UIO_GET_STATUS 0x29 // Update status from the core
|
||||
|
||||
// codes as used by 8bit for file loading from OSD
|
||||
#define UIO_FILE_TX 0x53
|
||||
|
||||
Reference in New Issue
Block a user