mirror of
https://gitee.com/Lyon1998/pikapython.git
synced 2025-01-29 17:22:56 +08:00
fix readBytes memory error
This commit is contained in:
parent
49589ed009
commit
a7613dd097
@ -46,7 +46,7 @@ char* PikaStdDevice_CAN_read(PikaObj* self, int length) {
|
||||
Arg* PikaStdDevice_CAN_readBytes(PikaObj *self, int length){
|
||||
obj_setInt(self, "length", length);
|
||||
obj_runNativeMethod(self, "platformReadBytes", NULL);
|
||||
return obj_getArg(self, "readData");
|
||||
return arg_copy(obj_getArg(self, "readData"));
|
||||
}
|
||||
|
||||
void PikaStdDevice_CAN_write(PikaObj* self, char* data) {
|
||||
|
@ -57,7 +57,7 @@ Arg* PikaStdDevice_IIC_readBytes(PikaObj* self, int addr, int length) {
|
||||
obj_setInt(self, "length", length);
|
||||
obj_setInt(self, "readAddr", addr);
|
||||
obj_runNativeMethod(self, "platformReadBytes", NULL);
|
||||
return obj_getArg(self, "readData");
|
||||
return arg_copy(obj_getArg(self, "readData"));
|
||||
}
|
||||
|
||||
void PikaStdDevice_IIC_platformWrite(PikaObj* self) {
|
||||
|
@ -25,7 +25,7 @@ void PikaStdDevice_SPI_write(PikaObj* self, char* data) {
|
||||
obj_runNativeMethod(self, "platformWrite", NULL);
|
||||
}
|
||||
|
||||
void PikaStdDevice_SPI_writeBytes(PikaObj *self, uint8_t* data, int length){
|
||||
void PikaStdDevice_SPI_writeBytes(PikaObj* self, uint8_t* data, int length) {
|
||||
obj_setBytes(self, "writeData", data, length);
|
||||
obj_runNativeMethod(self, "platformWriteBytes", NULL);
|
||||
}
|
||||
@ -36,10 +36,10 @@ char* PikaStdDevice_SPI_read(PikaObj* self, int length) {
|
||||
return obj_getStr(self, "readData");
|
||||
}
|
||||
|
||||
Arg* PikaStdDevice_SPI_readBytes(PikaObj *self, int length){
|
||||
Arg* PikaStdDevice_SPI_readBytes(PikaObj* self, int length) {
|
||||
obj_setInt(self, "length", length);
|
||||
obj_runNativeMethod(self, "platformReadBytes", NULL);
|
||||
return obj_getArg(self, "readData");
|
||||
return arg_copy(obj_getArg(self, "readData"));
|
||||
}
|
||||
|
||||
void PikaStdDevice_SPI_setBaudRate(PikaObj* self, int baudRate) {
|
||||
@ -94,13 +94,12 @@ void PikaStdDevice_SPI_platformRead(PikaObj* self) {
|
||||
obj_setSysOut(self, "[error] platform method need to be override.");
|
||||
}
|
||||
|
||||
void PikaStdDevice_SPI_platformWriteBytes(PikaObj *self){
|
||||
void PikaStdDevice_SPI_platformWriteBytes(PikaObj* self) {
|
||||
obj_setErrorCode(self, 1);
|
||||
obj_setSysOut(self, "[error] platform method need to be override.");
|
||||
}
|
||||
|
||||
void PikaStdDevice_SPI_platformReadBytes(PikaObj *self){
|
||||
void PikaStdDevice_SPI_platformReadBytes(PikaObj* self) {
|
||||
obj_setErrorCode(self, 1);
|
||||
obj_setSysOut(self, "[error] platform method need to be override.");
|
||||
}
|
||||
|
||||
|
@ -28,7 +28,7 @@ char* PikaStdDevice_UART_read(PikaObj* self, int length) {
|
||||
Arg* PikaStdDevice_UART_readBytes(PikaObj *self, int length){
|
||||
obj_setInt(self, "length", length);
|
||||
obj_runNativeMethod(self, "platformReadBytes", NULL);
|
||||
return obj_getArg(self, "readData");
|
||||
return arg_copy(obj_getArg(self, "readData"));
|
||||
}
|
||||
|
||||
void PikaStdDevice_UART_setBaudRate(PikaObj* self, int baudRate) {
|
||||
|
@ -1,20 +1,13 @@
|
||||
#include "TemplateDevice_UART.h"
|
||||
|
||||
void TemplateDevice_UART_platformDisable(PikaObj *self){
|
||||
|
||||
void TemplateDevice_UART_platformDisable(PikaObj* self) {}
|
||||
void TemplateDevice_UART_platformEnable(PikaObj* self) {}
|
||||
void TemplateDevice_UART_platformRead(PikaObj* self) {}
|
||||
void TemplateDevice_UART_platformReadBytes(PikaObj* self) {
|
||||
int length = obj_getInt(self, "length");
|
||||
uint8_t bytes_buff[] = {0x00, 0x01, 0x02, 0x03, 0x04,
|
||||
0x05, 0x06, 0x07, 0x08};
|
||||
obj_setBytes(self, "readData", bytes_buff, length);
|
||||
}
|
||||
void TemplateDevice_UART_platformEnable(PikaObj *self){
|
||||
|
||||
}
|
||||
void TemplateDevice_UART_platformRead(PikaObj *self){
|
||||
|
||||
}
|
||||
void TemplateDevice_UART_platformReadBytes(PikaObj *self){
|
||||
|
||||
}
|
||||
void TemplateDevice_UART_platformWrite(PikaObj *self){
|
||||
|
||||
}
|
||||
void TemplateDevice_UART_platformWriteBytes(PikaObj *self){
|
||||
|
||||
}
|
||||
void TemplateDevice_UART_platformWrite(PikaObj* self) {}
|
||||
void TemplateDevice_UART_platformWriteBytes(PikaObj* self) {}
|
24
port/linux/package/pikascript/TempDevTest.py
Normal file
24
port/linux/package/pikascript/TempDevTest.py
Normal file
@ -0,0 +1,24 @@
|
||||
import TemplateDevice
|
||||
|
||||
def EXPECT_EQ(test_name, input, expected):
|
||||
print('-----TEST-----')
|
||||
print(test_name)
|
||||
if input != expected:
|
||||
print('[Error]')
|
||||
print(test_name)
|
||||
print('[info] Expected:')
|
||||
print(expected)
|
||||
print('[info] Input:')
|
||||
print(input)
|
||||
# error
|
||||
while True:
|
||||
is_error = 1
|
||||
else:
|
||||
print('[ OK ]')
|
||||
|
||||
def test():
|
||||
uart = TemplateDevice.UART()
|
||||
uart.setId(1)
|
||||
uart.setBaudRate(115200)
|
||||
bt = uart.readBytes(5)
|
||||
EXPECT_EQ('uart.readBytes', bt, b'\x00\x01\x02\x03\x04')
|
@ -11,3 +11,5 @@ import TempDevTest as dev
|
||||
import TemplateDevice
|
||||
|
||||
print('hello pikascript!')
|
||||
|
||||
dev.test()
|
||||
|
@ -46,7 +46,7 @@ char* PikaStdDevice_CAN_read(PikaObj* self, int length) {
|
||||
Arg* PikaStdDevice_CAN_readBytes(PikaObj *self, int length){
|
||||
obj_setInt(self, "length", length);
|
||||
obj_runNativeMethod(self, "platformReadBytes", NULL);
|
||||
return obj_getArg(self, "readData");
|
||||
return arg_copy(obj_getArg(self, "readData"));
|
||||
}
|
||||
|
||||
void PikaStdDevice_CAN_write(PikaObj* self, char* data) {
|
||||
|
@ -57,7 +57,7 @@ Arg* PikaStdDevice_IIC_readBytes(PikaObj* self, int addr, int length) {
|
||||
obj_setInt(self, "length", length);
|
||||
obj_setInt(self, "readAddr", addr);
|
||||
obj_runNativeMethod(self, "platformReadBytes", NULL);
|
||||
return obj_getArg(self, "readData");
|
||||
return arg_copy(obj_getArg(self, "readData"));
|
||||
}
|
||||
|
||||
void PikaStdDevice_IIC_platformWrite(PikaObj* self) {
|
||||
|
@ -25,7 +25,7 @@ void PikaStdDevice_SPI_write(PikaObj* self, char* data) {
|
||||
obj_runNativeMethod(self, "platformWrite", NULL);
|
||||
}
|
||||
|
||||
void PikaStdDevice_SPI_writeBytes(PikaObj *self, uint8_t* data, int length){
|
||||
void PikaStdDevice_SPI_writeBytes(PikaObj* self, uint8_t* data, int length) {
|
||||
obj_setBytes(self, "writeData", data, length);
|
||||
obj_runNativeMethod(self, "platformWriteBytes", NULL);
|
||||
}
|
||||
@ -36,10 +36,10 @@ char* PikaStdDevice_SPI_read(PikaObj* self, int length) {
|
||||
return obj_getStr(self, "readData");
|
||||
}
|
||||
|
||||
Arg* PikaStdDevice_SPI_readBytes(PikaObj *self, int length){
|
||||
Arg* PikaStdDevice_SPI_readBytes(PikaObj* self, int length) {
|
||||
obj_setInt(self, "length", length);
|
||||
obj_runNativeMethod(self, "platformReadBytes", NULL);
|
||||
return obj_getArg(self, "readData");
|
||||
return arg_copy(obj_getArg(self, "readData"));
|
||||
}
|
||||
|
||||
void PikaStdDevice_SPI_setBaudRate(PikaObj* self, int baudRate) {
|
||||
@ -94,13 +94,12 @@ void PikaStdDevice_SPI_platformRead(PikaObj* self) {
|
||||
obj_setSysOut(self, "[error] platform method need to be override.");
|
||||
}
|
||||
|
||||
void PikaStdDevice_SPI_platformWriteBytes(PikaObj *self){
|
||||
void PikaStdDevice_SPI_platformWriteBytes(PikaObj* self) {
|
||||
obj_setErrorCode(self, 1);
|
||||
obj_setSysOut(self, "[error] platform method need to be override.");
|
||||
}
|
||||
|
||||
void PikaStdDevice_SPI_platformReadBytes(PikaObj *self){
|
||||
void PikaStdDevice_SPI_platformReadBytes(PikaObj* self) {
|
||||
obj_setErrorCode(self, 1);
|
||||
obj_setSysOut(self, "[error] platform method need to be override.");
|
||||
}
|
||||
|
||||
|
@ -28,7 +28,7 @@ char* PikaStdDevice_UART_read(PikaObj* self, int length) {
|
||||
Arg* PikaStdDevice_UART_readBytes(PikaObj *self, int length){
|
||||
obj_setInt(self, "length", length);
|
||||
obj_runNativeMethod(self, "platformReadBytes", NULL);
|
||||
return obj_getArg(self, "readData");
|
||||
return arg_copy(obj_getArg(self, "readData"));
|
||||
}
|
||||
|
||||
void PikaStdDevice_UART_setBaudRate(PikaObj* self, int baudRate) {
|
||||
|
@ -1,20 +1,13 @@
|
||||
#include "TemplateDevice_UART.h"
|
||||
|
||||
void TemplateDevice_UART_platformDisable(PikaObj *self){
|
||||
|
||||
void TemplateDevice_UART_platformDisable(PikaObj* self) {}
|
||||
void TemplateDevice_UART_platformEnable(PikaObj* self) {}
|
||||
void TemplateDevice_UART_platformRead(PikaObj* self) {}
|
||||
void TemplateDevice_UART_platformReadBytes(PikaObj* self) {
|
||||
int length = obj_getInt(self, "length");
|
||||
uint8_t bytes_buff[] = {0x00, 0x01, 0x02, 0x03, 0x04,
|
||||
0x05, 0x06, 0x07, 0x08};
|
||||
obj_setBytes(self, "readData", bytes_buff, length);
|
||||
}
|
||||
void TemplateDevice_UART_platformEnable(PikaObj *self){
|
||||
|
||||
}
|
||||
void TemplateDevice_UART_platformRead(PikaObj *self){
|
||||
|
||||
}
|
||||
void TemplateDevice_UART_platformReadBytes(PikaObj *self){
|
||||
|
||||
}
|
||||
void TemplateDevice_UART_platformWrite(PikaObj *self){
|
||||
|
||||
}
|
||||
void TemplateDevice_UART_platformWriteBytes(PikaObj *self){
|
||||
|
||||
}
|
||||
void TemplateDevice_UART_platformWrite(PikaObj* self) {}
|
||||
void TemplateDevice_UART_platformWriteBytes(PikaObj* self) {}
|
Loading…
x
Reference in New Issue
Block a user