diff --git a/bsp/stm32g030c8/MDK-ARM/stm32g030c8.uvprojx b/bsp/stm32g030c8/MDK-ARM/stm32g030c8.uvprojx
index afc068121..baab5f4fd 100644
--- a/bsp/stm32g030c8/MDK-ARM/stm32g030c8.uvprojx
+++ b/bsp/stm32g030c8/MDK-ARM/stm32g030c8.uvprojx
@@ -740,6 +740,11 @@
1
..\pikascript\pikascript-api\PikaPiZero_OLED-api.c
+
+ PikaPiZero_Point-api.c
+ 1
+ ..\pikascript\pikascript-api\PikaPiZero_Point-api.c
+
diff --git a/bsp/stm32g030c8/pikascript/main.py b/bsp/stm32g030c8/pikascript/main.py
index 21e57700c..4af0a90ed 100644
--- a/bsp/stm32g030c8/pikascript/main.py
+++ b/bsp/stm32g030c8/pikascript/main.py
@@ -2,27 +2,31 @@ import PikaStdLib
import STM32
import PikaPiZero
-x = 0
-y = 0
+p0 = PikaPiZero.Point()
+p0.x = 0
+p0.y = 0
+print(p0.x)
mem = PikaStdLib.MemChecker()
print('mem used max:')
mem.max()
-oled.drawPoint(x, y)
+oled.drawPoint(p0.x, p0.y)
while True:
if right.read() == 1:
- if x < 15:
- x = x + 1
- oled.drawPoint(x, y)
+ print('right')
+ if p0.x < 15:
+ p0.x = p0.x + 1
+ print(p0.x)
+ oled.drawPoint(p0.x, p0.y)
if left.read() == 0:
- if x > 0:
- x = x - 1
- oled.drawPoint(x, y)
+ if p0.x > 0:
+ p0.x = p0.x - 1
+ oled.drawPoint(p0.x, p0.y)
if up.read() == 0:
- if y > 0:
- y = y - 1
- oled.drawPoint(x, y)
+ if p0.y > 0:
+ p0.y = p0.y - 1
+ oled.drawPoint(p0.x, p0.y)
if down.read() == 0:
- if y < 7:
- y = y + 1
- oled.drawPoint(x, y)
+ if p0.y < 7:
+ p0.y = p0.y + 1
+ oled.drawPoint(p0.x, p0.y)
diff --git a/src/PikaVM.c b/src/PikaVM.c
index b7a1ed6cb..f79d1f11a 100644
--- a/src/PikaVM.c
+++ b/src/PikaVM.c
@@ -517,7 +517,7 @@ nextLine:
return nextAddr;
}
-static char* useFlashAsBuff(char* pikaAsm, Args* buffs) {
+char* useFlashAsBuff(char* pikaAsm, Args* buffs) {
/* not write flash when asm is old */
if (strEqu(pikaAsm, __platformLoadPikaAsm())) {
args_deinit(buffs);
@@ -561,7 +561,10 @@ Args* pikaVM_runAsm(PikaObj* self, char* pikaAsm) {
__platformPrintf("%s\r\n", sysOut);
}
if (0 != errcode) {
- __platformPrintf("[info] input commond: %s\r\n", thisLine);
+ Args *buffs = New_strBuff();
+ char *onlyThisLine = strsGetFirstToken(buffs, thisLine, '\n');
+ __platformPrintf("[info] input commond: %s\r\n", onlyThisLine);
+ args_deinit(buffs);
}
}
__clearInvokeQueues(self);
diff --git a/src/PikaVM.h b/src/PikaVM.h
index df6865551..38b6f86af 100644
--- a/src/PikaVM.h
+++ b/src/PikaVM.h
@@ -9,5 +9,6 @@ int32_t pikaVM_runAsmLine(PikaObj* self,
int32_t lineAddr,
Args* sysRes);
int32_t __clearInvokeQueues(PikaObj* self);
-
+char* useFlashAsBuff(char* pikaAsm, Args* buffs);
+
#endif
\ No newline at end of file