/******************************************************************************* * @file alipay_rom.c * @author ZS308A Team * @version V1.0 * @date 2022-12-13 * @brief alipay rom api *******************************************************************************/ /******************************************************************************/ //includes /******************************************************************************/ #include #include #include #include #include #include #include "alipay_rom.h" /******************************************************************************/ //constants /******************************************************************************/ /******************************************************************************/ //variables /******************************************************************************/ /******************************************************************************/ //functions /******************************************************************************/ static int sd_load(const char *filename, void *dst) { struct sd_file *sdf; int ret; sdf = sd_fopen(filename); if (!sdf) { return -EINVAL; } ret = sd_fread(sdf, dst, sdf->size); printk("%s size: %d, load: %d\n", filename, sdf->size, ret); if (ret == sdf->size) { ret = 0; } else { printk("load %s failed!\n", filename); ret = -EINVAL; } sd_fclose(sdf); return ret; } void alipay_rom_init(const alipay_os_api_t *api) { // load rom bin sd_load(CONFIG_ALIPAY_WXPAY_ROM_NAME, (void *)CONFIG_ALIPAY_WXPAY_ROM_BASE); // init os api p_alipay_api->init(api); } uint8_t pay_lib_init(uint8_t type) { return p_alipay_api->pay_lib_init(type); } void alipay_send_ble_data_proc(void) { p_alipay_api->alipay_send_ble_data_proc(); } void alipay_master_write_data(uint8_t buf[],uint8_t len) { p_alipay_api->alipay_master_write_data(buf, len); } alipay_status_e alipay_get_bind_status(uint32_t unix_second,uint8_t is_connected,uint8_t type) { return p_alipay_api->alipay_get_bind_status(unix_second, is_connected, type); } void alipay_get_bind_code(uint8_t buf[],uint8_t *buf_size) { p_alipay_api->alipay_get_bind_code(buf, buf_size); } void alipay_get_pay_code128(uint8_t buf[],uint16_t *buf_size) { p_alipay_api->alipay_get_pay_code(buf, buf_size); } void alipay_get_userinfo(uint8_t nick_name[],uint16_t *name_len,uint8_t login_id[],uint16_t *id_len) { p_alipay_api->alipay_get_userinfo(nick_name, name_len, login_id, id_len); } void alipay_detect_bind(void) { p_alipay_api->alipay_detect_bind(); } void wxpay_send_ble_data_proc(void) { p_alipay_api->wxpay_send_ble_data_proc(); } void wxpay_master_write_data(uint8_t buf[],uint8_t len) { p_alipay_api->wxpay_master_write_data(buf, len); } wxpay_status_e wxpay_get_bind_status(uint32_t unix_second,uint8_t is_connected,uint8_t type) { return p_alipay_api->wxpay_get_bind_status(unix_second, is_connected, type); } void wxpay_get_bind_code(uint8_t buf[],uint8_t *buf_size) { p_alipay_api->wxpay_get_bind_code(buf, buf_size); } void wxpay_get_pay_code128(uint8_t buf[],uint16_t *buf_size) { p_alipay_api->wxpay_get_pay_code(buf, buf_size); } void wxpay_get_userinfo(uint8_t nick_name[],uint16_t *name_len,uint8_t login_id[],uint16_t *id_len) { p_alipay_api->wxpay_get_userinfo(nick_name, name_len, login_id, id_len); } void wxpay_detect_bind(void) { p_alipay_api->wxpay_detect_bind(); }