虎子哥管理员2015-9-21 11:40:44
wpopoily 发表于 2015-9-20 17:09
初略看了一下, 以makeblock為例
在library和firmware都有相關的程式,

在js里可以使用air.trace()在flash开发环境中打印信息
虎子哥管理员2015-9-21 14:33:05
示例的runPackage是makeblock固件实现的协议。关于这个协议,可以参考代码在https://github.com/Makeblock-off ... mblock_firmware.ino
/*
ff 55 len idx action device port  slot  data a
0  1  2   3   4      5      6     7     8
*/
void parseData(){
...
}
wpopoily中级会员2015-9-21 21:34:27
本帖最后由 wpopoily 于 2015-9-21 21:59 编辑

感謝.....看這個mblock_firmware.ino的協議, 又多理解一些了.
另外, 像firmware的即時通訊, 我有兩個問題,
1, firmware通常會有多個,     在即時通訊中, runPackage(或其他自訂)怎會對應到正確的mblock_firmware呢
    不會找錯個firmware呢.
2, 若是自己創一個新frimware, 不知那裡有相關協議資料可以參考.

那個air.trace()等會試試.....搜尋後, 看到adl的東西,
嗯... 有看沒有懂.
虎子哥管理员2015-9-22 16:33:15
wpopoily 发表于 2015-9-21 21:34
感謝.....看這個mblock_firmware.ino的協議, 又多理解一些了.
另外, 像firmware的即時通訊, 我有兩個問題,
...

firmware实际上是一个arduino程序。受限arduino的可用的代码空间,firmware只能实现有限的功能。所以每一个firmware对应不同的功能。arduino官方有一个firmata协议程序,https://github.com/firmata/protocol,可以参考。(firmware跟firmata是两个不同的单词)
wpopoily中级会员2015-9-23 21:31:49
虎子哥 发表于 2015-9-22 16:33
firmware实际上是一个arduino程序。受限arduino的可用的代码空间,firmware只能实现有限的功能。所以每一 ...

我再消化消化firmware和架構.
firmata看起來又是一章節.
geliubo新手会员2015-10-12 20:26:07
["w", "%m.direction at speed %d.motorvalue","runBot", "run forward", 100,
                {"encode":"{d0}{s1}","setup":"","inc":"#include \"MeDCMotor.h\"\n","def":"MeDCMotor motor(0);\n","work":"motor.move({0},{1});\n","loop":""}],

这里的"encode":"{d0}{s1}"是什么意思?有什么作用?
虎子哥管理员2015-10-12 21:49:49
geliubo 发表于 2015-10-12 20:26
["w", "%m.direction at speed %d.motorvalue","runBot", "run forward", 100,
                {"encode":"{d0}{s1}","se ...

旧版本用来定义传输的数据格式,新版本已经不使用这个字段了
geliubo新手会员2015-10-12 22:24:52
本帖最后由 geliubo 于 2015-10-12 22:46 编辑

谢谢,请问要做成这个效果应该怎么写
      
["w", "set motor%d.motorPort %m.direction at speed %d.motorvalue", "motor1","FORWARD", 100,
      
{"setup":"","inc":"#include \<AFMotor.h>\n",
      
"Serial.begin(9600)",
      
"def":"AF_DCMotor motor1(1, MOTOR12_64KHZ);\n",
      
"AF_DCMotor motor2(2, MOTOR12_64KHZ);\n",
      
"AF_DCMotor motor3(3, MOTOR12_1KHZ);\n",
      
"AF_DCMotor motor4(4, MOTOR12_1KHZ);\n",
      
"work":"%d.motorPort run(%m.direction);\n,
      
"%d.motorPort setSpeed(%d.motorvalue);\n,
      
","loop":""}
      
      
      
"menus": {
      
"motorPort":["motor1","motor2","motor3","motor4"]
      
"direction":["FORWARD","BACKWARD","RELEASE"]
      
"motorvalue":[0,50,100,150,200,255]
      
},
离线编程,这样对不对?

   

1.jpg
wpopoily中级会员2015-10-15 22:41:41
大大你好,  又有問題要請教了.
1, 請問要如何上傳自已的fireware呢,
我是拿arduino主板來試, 想模擬arduino.js, 做做看一些簡單功能如讓13腳位亮起來,
不過都沒成功,
2, 有兩個地方有firmware, 那一個才是mblcok會用到的
C:\Users\使用者\AppData\Roaming\com.makeblock.Scratch\Local Store\mBlock\firmware
C:\Program Files (x86)\mBlock\firmware\firmware
3, 在mblock的擴充有一個通訊的擴充, 不知大大是否知道那邊有這個通訊擴充的用法,
    是否可以用在arduino板子上
感謝~
通訊.png
虎子哥管理员2015-10-16 16:58:13
wpopoily 发表于 2015-10-15 22:41
大大你好,  又有問題要請教了.
1, 請問要如何上傳自已的fireware呢,
我是拿arduino主板來試, 想模擬arduino ...

一楼Demo就是一个点亮LED灯的例子,可以参考
需要登陆后才可进行回复 登录

返回顶部
现在加入我们,注册一个账号 账号登陆 QQ账号登陆 微博账号登陆