2015-10-03 10:47:53 -04:00
|
|
|
#ifndef _gc2n64_adapter_h__
|
|
|
|
#define _gc2n64_adapter_h__
|
|
|
|
|
|
|
|
#include "gcn64.h"
|
|
|
|
|
|
|
|
struct gc2n64_adapter_info_app {
|
|
|
|
unsigned char default_mapping_id;
|
|
|
|
unsigned char deadzone_enabled;
|
|
|
|
unsigned char old_v1_5_conversion;
|
|
|
|
char version[16];
|
|
|
|
};
|
|
|
|
|
|
|
|
struct gc2n64_adapter_info_bootloader {
|
|
|
|
char version[16];
|
|
|
|
unsigned char mcu_page_size;
|
|
|
|
unsigned short bootloader_start_address;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct gc2n64_adapter_info {
|
|
|
|
int in_bootloader;
|
|
|
|
union {
|
|
|
|
struct gc2n64_adapter_info_app app;
|
|
|
|
struct gc2n64_adapter_info_bootloader bootldr;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2015-10-07 23:40:41 -04:00
|
|
|
int gc2n64_adapter_echotest(gcn64_hdl_t hdl, int channel, int verbosee);
|
|
|
|
int gc2n64_adapter_getInfo(gcn64_hdl_t hdl, int channel, struct gc2n64_adapter_info *inf);
|
2015-10-03 10:47:53 -04:00
|
|
|
void gc2n64_adapter_printInfo(struct gc2n64_adapter_info *inf);
|
2015-10-03 22:12:23 -04:00
|
|
|
|
2015-10-07 23:40:41 -04:00
|
|
|
int gc2n64_adapter_boot_eraseAll(gcn64_hdl_t hdl, int channel);
|
|
|
|
int gc2n64_adapter_boot_readBlock(gcn64_hdl_t hdl, int channel, unsigned int block_id, unsigned char dst[32]);
|
|
|
|
int gc2n64_adapter_dumpFlash(gcn64_hdl_t hdl, int channel);
|
|
|
|
int gc2n64_adapter_updateFirmware(gcn64_hdl_t hdl, int channel, const char *hexfile);
|
|
|
|
int gc2n64_adapter_enterBootloader(gcn64_hdl_t hdl, int channel);
|
|
|
|
int gc2n64_adapter_bootApplication(gcn64_hdl_t hdl, int channel);
|
|
|
|
int gc2n64_adapter_sendFirmwareBlocks(gcn64_hdl_t hdl, int channel, unsigned char *firmware, int len);
|
|
|
|
int gc2n64_adapter_verifyFirmware(gcn64_hdl_t hdl, int channel, unsigned char *firmware, int len);
|
|
|
|
int gc2n64_adapter_waitForBootloader(gcn64_hdl_t hdl, int channel, int timeout_s);
|
2015-10-03 10:47:53 -04:00
|
|
|
|
|
|
|
#endif // _gc2n64_adapter_h__
|
|
|
|
|