123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- /*******************************************************************************
- * @file alipay_rom.c
- * @author ZS308A Team
- * @version V1.0
- * @date 2022-12-13
- * @brief alipay rom api
- *******************************************************************************/
- /******************************************************************************/
- //includes
- /******************************************************************************/
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <device.h>
- #include <errno.h>
- #include <sdfs.h>
- #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();
- }
|