diff options
Diffstat (limited to 'api/cmd.h')
-rw-r--r-- | api/cmd.h | 209 |
1 files changed, 209 insertions, 0 deletions
diff --git a/api/cmd.h b/api/cmd.h new file mode 100644 index 0000000..4fb6bc7 --- /dev/null +++ b/api/cmd.h @@ -0,0 +1,209 @@ +#ifndef __CMD_H__ +#define __CMD_H__ + + +#include "type.h" +#include "user.h" +#include "error.h" + +/** + * Bus types + */ +#define Bus_I2C 1 +#define Bus_USB 2 +#define Bus_SPI 3 +#define Bus_SDIO 4 +#define Bus_USB11 5 +#define Bus_I2M 6 /** I2C bus for Mercury */ +#define Bus_I2U 7 /** I2C bus for Mercury USB */ +#define Bus_I2U2 8 /** I2C bus for Mercury USB (new, buffer size is 55) */ +#define Bus_9035U2I 9 /** I2C bus for Ganymede USB */ + + +/** + * Define commands + */ +#define Command_REG_DEMOD_READ 0x0000 +#define Command_REG_DEMOD_WRITE 0x0001 +#define Command_REG_TUNER_READ 0x0002 +#define Command_REG_TUNER_WRITE 0x0003 +#define Command_REG_EEPROM_READ 0x0004 +#define Command_REG_EEPROM_WRITE 0x0005 +#define Command_VAR_READ 0x0008 +#define Command_VAR_WRITE 0x0009 + +#define Command_DATA_READ 0x0006 + +#define Command_PLATFORM_GET 0x000A +#define Command_PLATFORM_SET 0x000B +#define Command_IP_CACHE 0x000D +#define Command_IP_ADD 0x000E +#define Command_IP_REMOVE 0x000F +#define Command_PID_ADD 0x0010 +#define Command_PID_REMOVE 0x0011 +#define Command_SIPSI_GET 0x0012 /** Get SI/PSI table for specific PID "once". */ +#define Command_SIPSI_MPE_RESET 0x0013 +#define Command_H_PID_ADD 0x0015 +#define Command_H_PID_REMOVE 0x0016 +#define Command_ABORT 0x0017 +#define Command_IR_GET 0x0018 +#define Command_IR_SET 0x0019 +#define Command_FW_DOWNLOAD_BEGIN 0x0024 +#define Command_FW_DOWNLOAD 0x0021 +#define Command_FW_DOWNLOAD_END 0x0025 +#define Command_QUERYINFO 0x0022 +#define Command_BOOT 0x0023 +#define Command_REBOOT 0x0023 +#define Command_RUN_CODE 0x0026 +#define Command_SCATTER_READ 0x0028 +#define Command_SCATTER_WRITE 0x0029 +#define Command_GENERIC_READ 0x002A +#define Command_GENERIC_WRITE 0x002B +#define Command_SHORT_REG_DEMOD_READ 0x02 +#define Command_SHORT_REG_DEMOD_WRITE 0X03 +#define Command_SHORT_REG_TUNER_READ 0x04 +#define Command_SHORT_REG_TUNER_WRITE 0X05 + +#define Command_SERVICES_GET 0x0083 +#define Command_COMPONENT_ADD 0x0086 +#define Command_COMPONENT_REMOVE 0x0087 +#define Command_FIG_ADD 0x0088 +#define Command_FIG_REMOVE 0x0089 + + +#define Bus_MAX_WRITE_SIZE 254 +#define Bus_MAX_READ_SIZE 254 + + +#define Cmd_buildCommand(command, processor, chip) (command + (Word) (processor << 12) + (Word) (chip << 12)) + + +/** + * + */ +Dword Cmd_writeRegisters ( + IN Demodulator* demodulator, + IN Byte chip, + IN Processor processor, + IN Dword registerAddress, + IN Byte registerAddressLength, + IN Dword writeBufferLength, + IN Byte* writeBuffer +); + + +/** + * + */ +Dword Cmd_writeTunerRegisters ( + IN Demodulator* demodulator, + IN Byte chip, + IN Byte tunerAddress, + IN Word registerAddress, + IN Byte registerAddressLength, + IN Byte writeBufferLength, + IN Byte* writeBuffer +); + + +/** + * + */ +Dword Cmd_writeEepromValues ( + IN Demodulator* demodulator, + IN Byte chip, + IN Byte eepromAddress, + IN Word registerAddress, + IN Byte registerAddressLength, + IN Byte writeBufferLength, + IN Byte* writeBuffer +); + + +/** + * + */ +Dword Cmd_readRegisters ( + IN Demodulator* demodulator, + IN Byte chip, + IN Processor processor, + IN Dword registerAddress, + IN Byte registerAddressLength, + IN Dword readBufferLength, + OUT Byte* readBuffer +); + + +/** + * + */ +Dword Cmd_readTunerRegisters ( + IN Demodulator* demodulator, + IN Byte chip, + IN Byte tunerAddress, + IN Word registerAddress, + IN Byte registerAddressLength, + IN Byte readBufferLength, + IN Byte* readBuffer +); + + +/** + * + */ +Dword Cmd_readEepromValues ( + IN Demodulator* demodulator, + IN Byte chip, + IN Byte eepromAddress, + IN Word registerAddress, + IN Byte registerAddressLength, + IN Byte readBufferLength, + OUT Byte* readBuffer +); + + +/** + * + */ +Dword Cmd_loadFirmware ( + IN Demodulator* demodulator, + IN Dword length, + IN Byte* firmware +); + + +/** + * + */ +Dword Cmd_reboot ( + IN Demodulator* demodulator, + IN Byte chip +); + + +/** + * + */ +Dword Cmd_sendCommand ( + IN Demodulator* demodulator, + IN Word command, + IN Byte chip, + IN Processor processor, + IN Dword writeBufferLength, + IN Byte* writeBuffer, + IN Dword readBufferLength, + OUT Byte* readBuffer +); + + +Dword Cmd_receiveData ( + IN Demodulator* demodulator, + IN Dword registerAddress, + IN Dword readBufferLength, + OUT Byte* readBuffer +); + +extern CmdDescription Cmd_busDescription; + + +#endif
\ No newline at end of file |