我正在使用Moya创建一个API层,并.updateMyWeightGoal在创建端点请求时不断为目标获取上述错误.
goalAPI.request(target: .updateMyWeightGoal(weightGoalData: goalInfo), success: { (response) in
//
}){ (response: [String : Any]) in
print(response)
}
Run Code Online (Sandbox Code Playgroud)
我已经创建了另一个相同类型的Moya API,并使用相同的方式调用它goalAPI,它工作正常.
可能导致此问题的任何想法
这里参考的是weightGoalData类型的类定义
class UpdatedWeightGoalInfo: Mappable {
var consumerUserID: Int?
var height: String?
var weight: String?
var goalWeight: String?
init() {
}
convenience init(userId: Int, weightGoalData: WeightGoalResponse) {
self.init()
consumerUserID = userId
height = "\(weightGoalData.currentHeight)"
weight = "\(weightGoalData.currentWeight)"
goalWeight = "\(weightGoalData.goalWeight)"
}
required init?(map: Map) {
}
func mapping(map: Map) {
consumerUserID <- map["consumerUserId"]
height <- …Run Code Online (Sandbox Code Playgroud) 我需要一种使用预处理器指令生成唯一值的方法.目的是每次调用宏时,它将具有唯一的整数标识符.但它应该保留它跨文件的价值.有点像预处理器计数器,用于调用函数的次数.
我正在使用的宏是:
#define LOG_MSG(a) log_msg(?)
Run Code Online (Sandbox Code Playgroud)
该宏仅在一个地方定义.在预处理阶段,'?' 将被唯一标识符替换.我们这样做是为了减少字符串带来的开销,因为此代码将在嵌入式设备上运行.在预处理之后,将提取标识符和相关字符串,并且将创建将映射它们的表(这将在应用程序侧).
由于这将用于多个文件,我想要一种方法来为多个文件中的每次使用生成唯一标识符(整数而不是字符串)(每个唯一字符串的标识符将是理想的但不是必需的).
有任何想法吗?
如果有任何遗漏或不完整的信息,请提及
笔记
__COUNTER__这是我尝试的第一件事,但它并不适用于文件.
__FILE__会给我一个破坏目的的字符串.
有人提到使用唯一文件标识符.但我不想静态分配这些.我们正在使用CCS(它基于Eclipse Kepler构建)来构建此代码.所以我想我们可以在构建系统中添加一些内容来执行@embedded_guy所提到的内容.谁知道怎么做?
谢谢
我正在尝试将M95M02-DR 256KB EEPROM存储器芯片与MSP430微控制器连接.作为示例测试,我尝试将以下字符串写入其中:
第一章.兔子洞.爱丽丝开始厌倦了坐在银行的姐姐身边,
当我尝试从芯片中读取数据时,这就是我得到的:
第一章.兔子洞.爱丽丝开始厌倦了坐在姐姐身边的b ?????
?是垃圾数据.问题是,如果我将字符串的大小减少几个字符,那么就没有问题了.以前我曾尝试从SD卡上的文件中读取数据,并以256字节块写入EEPROM芯片.在这种情况下没有写任何东西.但是当我逐字节执行相同的操作时,没有问题.
这是我正在使用的代码
static uint32_t i=0x025698;
static unsigned char message[120] = "CHAPTER I. Down the Rabbit-Hole."\
"Alice was beginning to get very tired of sitting by her sister on the bank, ";
static int size ;
unsigned char input[120];
size = strlen(message);
eeprom_spi_init();
eeprom_write( i ,message,size);
__delay_cycles(2500);
eeprom_read( i, input,size);
input[size]='\0';
ax_log_msg(E_LOG_INFO,input); //print command
Run Code Online (Sandbox Code Playgroud)
低级SPI函数如下:
void eeprom_write(uint32_t ui_addr, uint8_t *puc_wrData, uint8_t ui_dataLen)
{
uint8_t uac_wrBuf[260] = {0x00,};
uint8_t i = 0;
EEPROM_wrEnable();
uac_wrBuf[i++] = …Run Code Online (Sandbox Code Playgroud)