SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
ASEBA Messages
Jacques Supcik <jacques.supcik@hefr.ch>
TIC Technical Report #SUP 15/2
Fribourg, August 18, 2015
Document status: work in progress
Copyright © 2015 Jacques Supcik
Haute école d’ingénierie et d’architecture de Fribourg
Bd. de Pérolles 80 - cp 32
1705 Fribourg
Switzerland
This work is licensed under the Creative Commons Attribution 4.0 Interna-
tional License. To view a copy of this license, visit
http://creativecommons.org/licenses/by/4.0/.
ii
Contents
Acronyms v
1 Introduction 1
2 Message Format 3
3 Messages 5
3.1 Messages from bootloader control program to a specific node 5
3.1.1 BOOTLOADER_RESET . . . . . . . . . . . . . . . . 5
3.1.2 BOOTLOADER_READ_PAGE . . . . . . . . . . . . . 5
3.1.3 BOOTLOADER_WRITE_PAGE . . . . . . . . . . . . 6
3.1.4 BOOTLOADER_PAGE_DATA_WRITE . . . . . . . . 6
3.2 Messages from node to bootloader control program . . . . . 7
3.2.1 BOOTLOADER_DESCRIPTION . . . . . . . . . . . . 7
3.2.2 BOOTLOADER_PAGE_DATA_READ . . . . . . . . . 7
3.2.3 BOOTLOADER_ACK . . . . . . . . . . . . . . . . . . 8
3.3 Messages from a specific node . . . . . . . . . . . . . . . . 9
3.3.1 DESCRIPTION . . . . . . . . . . . . . . . . . . . . . 9
3.3.2 NAMED_VARIABLE_DESCRIPTION . . . . . . . . . 10
3.3.3 LOCAL_EVENT_DESCRIPTION . . . . . . . . . . . 10
3.3.4 NATIVE_FUNCTION_DESCRIPTION . . . . . . . . . 11
3.3.5 DISCONNECTED . . . . . . . . . . . . . . . . . . . . 11
3.3.6 VARIABLES . . . . . . . . . . . . . . . . . . . . . . . 12
3.3.7 ARRAY_ACCESS_OUT_OF_BOUNDS . . . . . . . . 12
3.3.8 DIVISION_BY_ZERO . . . . . . . . . . . . . . . . . . 13
3.3.9 EVENT_EXECUTION_KILLED . . . . . . . . . . . . 13
3.3.10 NODE_SPECIFIC_ERROR . . . . . . . . . . . . . . 13
3.3.11 EXECUTION_STATE_CHANGED . . . . . . . . . . . 14
3.3.12 BREAKPOINT_SET_RESULT . . . . . . . . . . . . . 14
3.4 Message from IDE to all nodes . . . . . . . . . . . . . . . . 14
3.4.1 GET_DESCRIPTION . . . . . . . . . . . . . . . . . . 15
3.5 Messages from IDE to a specific node . . . . . . . . . . . . 15
3.5.1 SET_BYTECODE . . . . . . . . . . . . . . . . . . . . 15
3.5.2 RESET . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.5.3 RUN . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
iii
Contents
3.5.4 PAUSE . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.5.5 STEP . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.5.6 STOP . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.5.7 GET_EXECUTION_STATE . . . . . . . . . . . . . . 17
3.5.8 BREAKPOINT_SET . . . . . . . . . . . . . . . . . . 18
3.5.9 BREAKPOINT_CLEAR . . . . . . . . . . . . . . . . . 18
3.5.10 BREAKPOINT_CLEAR_ALL . . . . . . . . . . . . . . 18
3.5.11 GET_VARIABLES . . . . . . . . . . . . . . . . . . . 19
3.5.12 SET_VARIABLES . . . . . . . . . . . . . . . . . . . . 19
3.5.13 WRITE_BYTECODE . . . . . . . . . . . . . . . . . . 20
3.5.14 REBOOT . . . . . . . . . . . . . . . . . . . . . . . . 20
3.5.15 SUSPEND_TO_RAM . . . . . . . . . . . . . . . . . . 20
3.5.16 INVALID . . . . . . . . . . . . . . . . . . . . . . . . . 21
iv
Acronyms
IDE Integrated Development Environment. iii, 1, 3, 14, 15, 17, 19, 21
v
1 Introduction
This document describes the messages exchanged between the Thymio
II robot and the Integrated Development Environment (IDE). These mes-
sages are independent from the transport (USB, TCP/IP, …)
1
2 Message Format
Each packet is composed of an header and a body:
length
source
type
0x00
0x02
0x04
0x06
body
…
The length, source, and type are 16 bit unsigned integer encoded as little
endian. The length gives the size of the body in bytes. Note the the size
of the body is not nesessarly a multiple of two, this is why the size is given
in bytes an not in words1
.
“Aseba messages payload data must be 512 bytes or smaller, which means
that the total packets size (len + source + type + payload) must be 518 bytes
or smaller.”
The source is zero for the IDE.
All integer fields in the messages are 16 bit wide encoded in little endian.
This seems unusual for those who are used to work with communication
protocols such as TCP/IP, but it is the natural order in the Thymio II’s CPU.
Some messages contains fields of type String. In this type, the field always
start with an unsigned 8 bit integer giving the size of the string, and the
an array of bytes encoded in Unicode/UTF-8 with the actual characters of
1
In Aseba, 1 word = 2 byte = 16 bit
3
2 Message Format
the string. The size gives the number of bytes and not the length of the
string.
4
3 Messages
3.1 Messages from bootloader control program to a
specific node
3.1.1 BOOTLOADER_RESET
2
source
0x8000
0x00
0x02
0x04
0x06
dest
3.1.2 BOOTLOADER_READ_PAGE
4
source
0x8001
0x00
0x02
0x04
0x06
dest
pageNumber
0x08
5
3 Messages
3.1.3 BOOTLOADER_WRITE_PAGE
4
source
0x8002
0x00
0x02
0x04
0x06
dest
pageNumber
0x08
3.1.4 BOOTLOADER_PAGE_DATA_WRITE
size
source
0x8003
0x00
0x02
0x04
0x06
dest
data: Bytes
0x08
…
6
3.2 Messages from node to bootloader control program
3.2 Messages from node to bootloader control program
3.2.1 BOOTLOADER_DESCRIPTION
6
source
0x8004
0x00
0x02
0x04
0x06
pageSize
pagesStart
pagesCount
0x08
0x0A
3.2.2 BOOTLOADER_PAGE_DATA_READ
size
source
0x8005
0x00
0x02
0x04
0x06
data: Bytes
…
7
3 Messages
3.2.3 BOOTLOADER_ACK
2 (4)
source
0x8006
0x00
0x02
0x04
0x06
errorCode
(errorAddress)
(0x08)
errorCode:
0 Success.
1 Error: Invalid frame size.
2 Error: Programming failed.
3 Error: Not programming.
errorAddress:
Low address of the bytecode where the programming failed (errorCode =2)
8
3.3 Messages from a specific node
3.3 Messages from a specific node
3.3.1 DESCRIPTION
size
source
0x9000
0x00
0x02
0x04
0x06
name: String
protocolVersion
bytecodeSize
stackSize
variablesSize
namedVariableSize
localEventSize
nativeFunctionSize…
9
3 Messages
3.3.2 NAMED_VARIABLE_DESCRIPTION
size
source
0x9001
0x00
0x02
0x04
0x06
size
name: String
…
3.3.3 LOCAL_EVENT_DESCRIPTION
size
source
0x9002
0x00
0x02
0x04
0x06
name: String
description: String
…
10
3.3 Messages from a specific node
3.3.4 NATIVE_FUNCTION_DESCRIPTION
size
source
0x9003
0x00
0x02
0x04
0x06
name: String
description: String
parametersLength
parameter[0].Size
parameter[0].Name: String
…
parameter[n].Size
parameter[n].Name: String
…
3.3.5 DISCONNECTED
0
source
0x9004
0x00
0x02
0x04
11
3 Messages
3.3.6 VARIABLES
size
source
0x9005
0x00
0x02
0x04
0x06
start
variable[0]
…
variable[n]…
3.3.7 ARRAY_ACCESS_OUT_OF_BOUNDS
6
source
0x9006
0x00
0x02
0x04
0x06
pc
size
index
0x08
0x0A
12
3.3 Messages from a specific node
3.3.8 DIVISION_BY_ZERO
2
source
0x9007
0x00
0x02
0x04
0x06
pc
3.3.9 EVENT_EXECUTION_KILLED
2
source
0x9008
0x00
0x02
0x04
0x06
pc
3.3.10 NODE_SPECIFIC_ERROR
4
source
0x9009
0x00
0x02
0x04
0x06
pc
message: String
…
13
3 Messages
3.3.11 EXECUTION_STATE_CHANGED
4
source
0x900A
0x00
0x02
0x04
0x06
pc
flags
0x08
3.3.12 BREAKPOINT_SET_RESULT
4
source
0x900B
0x00
0x02
0x04
0x06
pc
success
0x08
3.4 Message from IDE to all nodes
This section describes messages broadcasted to all robots. There is only
one single messege of this type.
14
3.5 Messages from IDE to a specific node
3.4.1 GET_DESCRIPTION
2
source
0xA000
0x00
0x02
0x04
0x06
version
This message is also known as the “presence” message. It is usually the
first message sent by the IDE to initiate the dialog with the robots.
3.5 Messages from IDE to a specific node
The following messages target a specific robot. The first argument in the
message’s payload is always the id of the robot.
3.5.1 SET_BYTECODE
size
source
0xA001
0x00
0x02
0x04
0x06
dest
start
bytecode[0]
…
bytecode[n]
0x08
0x0A
…
15
3 Messages
3.5.2 RESET
2
source
0xA002
0x00
0x02
0x04
0x06
dest
3.5.3 RUN
2
source
0xA003
0x00
0x02
0x04
0x06
dest
3.5.4 PAUSE
2
source
0xA004
0x00
0x02
0x04
0x06
dest
16
3.5 Messages from IDE to a specific node
3.5.5 STEP
2
source
0xA005
0x00
0x02
0x04
0x06
dest
3.5.6 STOP
2
source
0xA006
0x00
0x02
0x04
0x06
dest
3.5.7 GET_EXECUTION_STATE
2
source
0xA007
0x00
0x02
0x04
0x06
dest
17
3 Messages
3.5.8 BREAKPOINT_SET
4
source
0xA008
0x00
0x02
0x04
0x06
dest
pc
0x08
3.5.9 BREAKPOINT_CLEAR
4
source
0xA009
0x00
0x02
0x04
0x06
dest
pc
0x08
3.5.10 BREAKPOINT_CLEAR_ALL
2
source
0xA00A
0x00
0x02
0x04
0x06
dest
18
3.5 Messages from IDE to a specific node
3.5.11 GET_VARIABLES
6
source
0xA00B
0x00
0x02
0x04
0x06
dest
start
length
0x08
0x0A
3.5.12 SET_VARIABLES
size
source
0xA00C
0x00
0x02
0x04
0x06
dest
start
variable[0]
…
variable[n]
0x08
0x0A
…
19
3 Messages
3.5.13 WRITE_BYTECODE
2
source
0xA00D
0x00
0x02
0x04
0x06
dest
3.5.14 REBOOT
2
source
0xA00E
0x00
0x02
0x04
0x06
dest
3.5.15 SUSPEND_TO_RAM
2
source
0xA00F
0x00
0x02
0x04
0x06
dest
This message sends the robot to sleep.
20
3.5 Messages from IDE to a specific node
3.5.16 INVALID
0
source
0xFFFF
0x00
0x02
0x04
21

Weitere ähnliche Inhalte

Andere mochten auch

Summer_2015_FCC_Student_Presentation
Summer_2015_FCC_Student_PresentationSummer_2015_FCC_Student_Presentation
Summer_2015_FCC_Student_PresentationCynthia Elm
 
Ignasi Labastida : Drets d'autor
Ignasi Labastida : Drets d'autor Ignasi Labastida : Drets d'autor
Ignasi Labastida : Drets d'autor Ateneu Barcelonès
 
Tecnologia de la informacion y las comunicacciones
Tecnologia de la informacion y las comunicaccionesTecnologia de la informacion y las comunicacciones
Tecnologia de la informacion y las comunicaccionesmarlontorresperez
 
Bluecore Presentation Template
Bluecore Presentation TemplateBluecore Presentation Template
Bluecore Presentation TemplateSaawan Ebe
 
Hand out from Valerie
Hand out from ValerieHand out from Valerie
Hand out from Valeriejamzak
 
Projet décret mise en place systéme de qualifiaction et de classification ent...
Projet décret mise en place systéme de qualifiaction et de classification ent...Projet décret mise en place systéme de qualifiaction et de classification ent...
Projet décret mise en place systéme de qualifiaction et de classification ent...GBO
 
Operasi dasar dan peralatan
Operasi dasar dan peralatanOperasi dasar dan peralatan
Operasi dasar dan peralatanseptyanandanq
 
00. kisi kisi materi wajib pelaksanaan sosialisasi provinsi 06-04-2016
00. kisi kisi materi wajib pelaksanaan sosialisasi provinsi 06-04-201600. kisi kisi materi wajib pelaksanaan sosialisasi provinsi 06-04-2016
00. kisi kisi materi wajib pelaksanaan sosialisasi provinsi 06-04-2016lihin01
 
L350 K2 CYNK SPRAY CHRONI PRZED KOROZJĄ, PRZEWODZI PRĄD
L350 K2 CYNK SPRAY CHRONI PRZED KOROZJĄ, PRZEWODZI PRĄDL350 K2 CYNK SPRAY CHRONI PRZED KOROZJĄ, PRZEWODZI PRĄD
L350 K2 CYNK SPRAY CHRONI PRZED KOROZJĄ, PRZEWODZI PRĄDK2 Auto Jak Nowe
 

Andere mochten auch (15)

Summer_2015_FCC_Student_Presentation
Summer_2015_FCC_Student_PresentationSummer_2015_FCC_Student_Presentation
Summer_2015_FCC_Student_Presentation
 
IGNACIO
IGNACIOIGNACIO
IGNACIO
 
Ubq set/2005
Ubq set/2005Ubq set/2005
Ubq set/2005
 
Ignasi Labastida : Drets d'autor
Ignasi Labastida : Drets d'autor Ignasi Labastida : Drets d'autor
Ignasi Labastida : Drets d'autor
 
Alicia
AliciaAlicia
Alicia
 
Tecnologia de la informacion y las comunicacciones
Tecnologia de la informacion y las comunicaccionesTecnologia de la informacion y las comunicacciones
Tecnologia de la informacion y las comunicacciones
 
Dir 655 reva-manual
Dir 655 reva-manualDir 655 reva-manual
Dir 655 reva-manual
 
Bluecore Presentation Template
Bluecore Presentation TemplateBluecore Presentation Template
Bluecore Presentation Template
 
Relay for Life
Relay for LifeRelay for Life
Relay for Life
 
Antonio
AntonioAntonio
Antonio
 
Hand out from Valerie
Hand out from ValerieHand out from Valerie
Hand out from Valerie
 
Projet décret mise en place systéme de qualifiaction et de classification ent...
Projet décret mise en place systéme de qualifiaction et de classification ent...Projet décret mise en place systéme de qualifiaction et de classification ent...
Projet décret mise en place systéme de qualifiaction et de classification ent...
 
Operasi dasar dan peralatan
Operasi dasar dan peralatanOperasi dasar dan peralatan
Operasi dasar dan peralatan
 
00. kisi kisi materi wajib pelaksanaan sosialisasi provinsi 06-04-2016
00. kisi kisi materi wajib pelaksanaan sosialisasi provinsi 06-04-201600. kisi kisi materi wajib pelaksanaan sosialisasi provinsi 06-04-2016
00. kisi kisi materi wajib pelaksanaan sosialisasi provinsi 06-04-2016
 
L350 K2 CYNK SPRAY CHRONI PRZED KOROZJĄ, PRZEWODZI PRĄD
L350 K2 CYNK SPRAY CHRONI PRZED KOROZJĄ, PRZEWODZI PRĄDL350 K2 CYNK SPRAY CHRONI PRZED KOROZJĄ, PRZEWODZI PRĄD
L350 K2 CYNK SPRAY CHRONI PRZED KOROZJĄ, PRZEWODZI PRĄD
 

Ähnlich wie Aseba msg

Sqlmap readme
Sqlmap readmeSqlmap readme
Sqlmap readmefangjiafu
 
Apache Web server Complete Guide
Apache Web server Complete GuideApache Web server Complete Guide
Apache Web server Complete Guidewebhostingguy
 
Apache Web server Complete Guide
Apache Web server Complete GuideApache Web server Complete Guide
Apache Web server Complete Guidewebhostingguy
 
Documentation - MyGlWindowPlot
Documentation - MyGlWindowPlotDocumentation - MyGlWindowPlot
Documentation - MyGlWindowPlotMichel Alves
 
An introduction to tivoli net view for os 390 v1r2 sg245224
An introduction to tivoli net view for os 390 v1r2 sg245224An introduction to tivoli net view for os 390 v1r2 sg245224
An introduction to tivoli net view for os 390 v1r2 sg245224Banking at Ho Chi Minh city
 
S Pii Plus+C+Library+Programmer+Guide
S Pii Plus+C+Library+Programmer+GuideS Pii Plus+C+Library+Programmer+Guide
S Pii Plus+C+Library+Programmer+Guideguestd2fe1e
 
S Pii Plus+C+Library+Programmer+Guide
S Pii Plus+C+Library+Programmer+GuideS Pii Plus+C+Library+Programmer+Guide
S Pii Plus+C+Library+Programmer+Guideguestd2fe1e
 
B035-2447-220K.pdf
B035-2447-220K.pdfB035-2447-220K.pdf
B035-2447-220K.pdfdegido10
 
Ibm tivoli intelligent think dynamic orchestrator pre proof of-concept cookbo...
Ibm tivoli intelligent think dynamic orchestrator pre proof of-concept cookbo...Ibm tivoli intelligent think dynamic orchestrator pre proof of-concept cookbo...
Ibm tivoli intelligent think dynamic orchestrator pre proof of-concept cookbo...Banking at Ho Chi Minh city
 
Spi research paper
Spi research paperSpi research paper
Spi research paperQuyenVu47
 
Intro to embedded systems programming
Intro to embedded systems programming Intro to embedded systems programming
Intro to embedded systems programming Massimo Talia
 
BOOK - IBM zOS V1R10 communications server TCP / IP implementation volume 1 b...
BOOK - IBM zOS V1R10 communications server TCP / IP implementation volume 1 b...BOOK - IBM zOS V1R10 communications server TCP / IP implementation volume 1 b...
BOOK - IBM zOS V1R10 communications server TCP / IP implementation volume 1 b...Satya Harish
 
Modbus protocol reference guide
Modbus protocol reference guideModbus protocol reference guide
Modbus protocol reference guidePanggih Supraja
 
Ibm total storage productivity center for replication on windows 2003 sg247250
Ibm total storage productivity center for replication on windows 2003 sg247250Ibm total storage productivity center for replication on windows 2003 sg247250
Ibm total storage productivity center for replication on windows 2003 sg247250Banking at Ho Chi Minh city
 

Ähnlich wie Aseba msg (20)

OPCDE Crackme Solution
OPCDE Crackme SolutionOPCDE Crackme Solution
OPCDE Crackme Solution
 
Manual
ManualManual
Manual
 
Sqlmap readme
Sqlmap readmeSqlmap readme
Sqlmap readme
 
Ia 32
Ia 32Ia 32
Ia 32
 
Apache Web server Complete Guide
Apache Web server Complete GuideApache Web server Complete Guide
Apache Web server Complete Guide
 
Apache Web server Complete Guide
Apache Web server Complete GuideApache Web server Complete Guide
Apache Web server Complete Guide
 
Documentation - MyGlWindowPlot
Documentation - MyGlWindowPlotDocumentation - MyGlWindowPlot
Documentation - MyGlWindowPlot
 
An introduction to tivoli net view for os 390 v1r2 sg245224
An introduction to tivoli net view for os 390 v1r2 sg245224An introduction to tivoli net view for os 390 v1r2 sg245224
An introduction to tivoli net view for os 390 v1r2 sg245224
 
Novell login documentation and troubleshooting
Novell login documentation and troubleshootingNovell login documentation and troubleshooting
Novell login documentation and troubleshooting
 
S Pii Plus+C+Library+Programmer+Guide
S Pii Plus+C+Library+Programmer+GuideS Pii Plus+C+Library+Programmer+Guide
S Pii Plus+C+Library+Programmer+Guide
 
S Pii Plus+C+Library+Programmer+Guide
S Pii Plus+C+Library+Programmer+GuideS Pii Plus+C+Library+Programmer+Guide
S Pii Plus+C+Library+Programmer+Guide
 
B035-2447-220K.pdf
B035-2447-220K.pdfB035-2447-220K.pdf
B035-2447-220K.pdf
 
Ibm tivoli intelligent think dynamic orchestrator pre proof of-concept cookbo...
Ibm tivoli intelligent think dynamic orchestrator pre proof of-concept cookbo...Ibm tivoli intelligent think dynamic orchestrator pre proof of-concept cookbo...
Ibm tivoli intelligent think dynamic orchestrator pre proof of-concept cookbo...
 
trex_astf.pdf
trex_astf.pdftrex_astf.pdf
trex_astf.pdf
 
Spi research paper
Spi research paperSpi research paper
Spi research paper
 
Intro to embedded systems programming
Intro to embedded systems programming Intro to embedded systems programming
Intro to embedded systems programming
 
Atmega tutorial
Atmega tutorialAtmega tutorial
Atmega tutorial
 
BOOK - IBM zOS V1R10 communications server TCP / IP implementation volume 1 b...
BOOK - IBM zOS V1R10 communications server TCP / IP implementation volume 1 b...BOOK - IBM zOS V1R10 communications server TCP / IP implementation volume 1 b...
BOOK - IBM zOS V1R10 communications server TCP / IP implementation volume 1 b...
 
Modbus protocol reference guide
Modbus protocol reference guideModbus protocol reference guide
Modbus protocol reference guide
 
Ibm total storage productivity center for replication on windows 2003 sg247250
Ibm total storage productivity center for replication on windows 2003 sg247250Ibm total storage productivity center for replication on windows 2003 sg247250
Ibm total storage productivity center for replication on windows 2003 sg247250
 

Kürzlich hochgeladen

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Kürzlich hochgeladen (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Aseba msg

  • 1. ASEBA Messages Jacques Supcik <jacques.supcik@hefr.ch> TIC Technical Report #SUP 15/2 Fribourg, August 18, 2015
  • 2. Document status: work in progress Copyright © 2015 Jacques Supcik Haute école d’ingénierie et d’architecture de Fribourg Bd. de Pérolles 80 - cp 32 1705 Fribourg Switzerland This work is licensed under the Creative Commons Attribution 4.0 Interna- tional License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/. ii
  • 3. Contents Acronyms v 1 Introduction 1 2 Message Format 3 3 Messages 5 3.1 Messages from bootloader control program to a specific node 5 3.1.1 BOOTLOADER_RESET . . . . . . . . . . . . . . . . 5 3.1.2 BOOTLOADER_READ_PAGE . . . . . . . . . . . . . 5 3.1.3 BOOTLOADER_WRITE_PAGE . . . . . . . . . . . . 6 3.1.4 BOOTLOADER_PAGE_DATA_WRITE . . . . . . . . 6 3.2 Messages from node to bootloader control program . . . . . 7 3.2.1 BOOTLOADER_DESCRIPTION . . . . . . . . . . . . 7 3.2.2 BOOTLOADER_PAGE_DATA_READ . . . . . . . . . 7 3.2.3 BOOTLOADER_ACK . . . . . . . . . . . . . . . . . . 8 3.3 Messages from a specific node . . . . . . . . . . . . . . . . 9 3.3.1 DESCRIPTION . . . . . . . . . . . . . . . . . . . . . 9 3.3.2 NAMED_VARIABLE_DESCRIPTION . . . . . . . . . 10 3.3.3 LOCAL_EVENT_DESCRIPTION . . . . . . . . . . . 10 3.3.4 NATIVE_FUNCTION_DESCRIPTION . . . . . . . . . 11 3.3.5 DISCONNECTED . . . . . . . . . . . . . . . . . . . . 11 3.3.6 VARIABLES . . . . . . . . . . . . . . . . . . . . . . . 12 3.3.7 ARRAY_ACCESS_OUT_OF_BOUNDS . . . . . . . . 12 3.3.8 DIVISION_BY_ZERO . . . . . . . . . . . . . . . . . . 13 3.3.9 EVENT_EXECUTION_KILLED . . . . . . . . . . . . 13 3.3.10 NODE_SPECIFIC_ERROR . . . . . . . . . . . . . . 13 3.3.11 EXECUTION_STATE_CHANGED . . . . . . . . . . . 14 3.3.12 BREAKPOINT_SET_RESULT . . . . . . . . . . . . . 14 3.4 Message from IDE to all nodes . . . . . . . . . . . . . . . . 14 3.4.1 GET_DESCRIPTION . . . . . . . . . . . . . . . . . . 15 3.5 Messages from IDE to a specific node . . . . . . . . . . . . 15 3.5.1 SET_BYTECODE . . . . . . . . . . . . . . . . . . . . 15 3.5.2 RESET . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.5.3 RUN . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 iii
  • 4. Contents 3.5.4 PAUSE . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.5.5 STEP . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.5.6 STOP . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.5.7 GET_EXECUTION_STATE . . . . . . . . . . . . . . 17 3.5.8 BREAKPOINT_SET . . . . . . . . . . . . . . . . . . 18 3.5.9 BREAKPOINT_CLEAR . . . . . . . . . . . . . . . . . 18 3.5.10 BREAKPOINT_CLEAR_ALL . . . . . . . . . . . . . . 18 3.5.11 GET_VARIABLES . . . . . . . . . . . . . . . . . . . 19 3.5.12 SET_VARIABLES . . . . . . . . . . . . . . . . . . . . 19 3.5.13 WRITE_BYTECODE . . . . . . . . . . . . . . . . . . 20 3.5.14 REBOOT . . . . . . . . . . . . . . . . . . . . . . . . 20 3.5.15 SUSPEND_TO_RAM . . . . . . . . . . . . . . . . . . 20 3.5.16 INVALID . . . . . . . . . . . . . . . . . . . . . . . . . 21 iv
  • 5. Acronyms IDE Integrated Development Environment. iii, 1, 3, 14, 15, 17, 19, 21 v
  • 6.
  • 7. 1 Introduction This document describes the messages exchanged between the Thymio II robot and the Integrated Development Environment (IDE). These mes- sages are independent from the transport (USB, TCP/IP, …) 1
  • 8.
  • 9. 2 Message Format Each packet is composed of an header and a body: length source type 0x00 0x02 0x04 0x06 body … The length, source, and type are 16 bit unsigned integer encoded as little endian. The length gives the size of the body in bytes. Note the the size of the body is not nesessarly a multiple of two, this is why the size is given in bytes an not in words1 . “Aseba messages payload data must be 512 bytes or smaller, which means that the total packets size (len + source + type + payload) must be 518 bytes or smaller.” The source is zero for the IDE. All integer fields in the messages are 16 bit wide encoded in little endian. This seems unusual for those who are used to work with communication protocols such as TCP/IP, but it is the natural order in the Thymio II’s CPU. Some messages contains fields of type String. In this type, the field always start with an unsigned 8 bit integer giving the size of the string, and the an array of bytes encoded in Unicode/UTF-8 with the actual characters of 1 In Aseba, 1 word = 2 byte = 16 bit 3
  • 10. 2 Message Format the string. The size gives the number of bytes and not the length of the string. 4
  • 11. 3 Messages 3.1 Messages from bootloader control program to a specific node 3.1.1 BOOTLOADER_RESET 2 source 0x8000 0x00 0x02 0x04 0x06 dest 3.1.2 BOOTLOADER_READ_PAGE 4 source 0x8001 0x00 0x02 0x04 0x06 dest pageNumber 0x08 5
  • 12. 3 Messages 3.1.3 BOOTLOADER_WRITE_PAGE 4 source 0x8002 0x00 0x02 0x04 0x06 dest pageNumber 0x08 3.1.4 BOOTLOADER_PAGE_DATA_WRITE size source 0x8003 0x00 0x02 0x04 0x06 dest data: Bytes 0x08 … 6
  • 13. 3.2 Messages from node to bootloader control program 3.2 Messages from node to bootloader control program 3.2.1 BOOTLOADER_DESCRIPTION 6 source 0x8004 0x00 0x02 0x04 0x06 pageSize pagesStart pagesCount 0x08 0x0A 3.2.2 BOOTLOADER_PAGE_DATA_READ size source 0x8005 0x00 0x02 0x04 0x06 data: Bytes … 7
  • 14. 3 Messages 3.2.3 BOOTLOADER_ACK 2 (4) source 0x8006 0x00 0x02 0x04 0x06 errorCode (errorAddress) (0x08) errorCode: 0 Success. 1 Error: Invalid frame size. 2 Error: Programming failed. 3 Error: Not programming. errorAddress: Low address of the bytecode where the programming failed (errorCode =2) 8
  • 15. 3.3 Messages from a specific node 3.3 Messages from a specific node 3.3.1 DESCRIPTION size source 0x9000 0x00 0x02 0x04 0x06 name: String protocolVersion bytecodeSize stackSize variablesSize namedVariableSize localEventSize nativeFunctionSize… 9
  • 16. 3 Messages 3.3.2 NAMED_VARIABLE_DESCRIPTION size source 0x9001 0x00 0x02 0x04 0x06 size name: String … 3.3.3 LOCAL_EVENT_DESCRIPTION size source 0x9002 0x00 0x02 0x04 0x06 name: String description: String … 10
  • 17. 3.3 Messages from a specific node 3.3.4 NATIVE_FUNCTION_DESCRIPTION size source 0x9003 0x00 0x02 0x04 0x06 name: String description: String parametersLength parameter[0].Size parameter[0].Name: String … parameter[n].Size parameter[n].Name: String … 3.3.5 DISCONNECTED 0 source 0x9004 0x00 0x02 0x04 11
  • 18. 3 Messages 3.3.6 VARIABLES size source 0x9005 0x00 0x02 0x04 0x06 start variable[0] … variable[n]… 3.3.7 ARRAY_ACCESS_OUT_OF_BOUNDS 6 source 0x9006 0x00 0x02 0x04 0x06 pc size index 0x08 0x0A 12
  • 19. 3.3 Messages from a specific node 3.3.8 DIVISION_BY_ZERO 2 source 0x9007 0x00 0x02 0x04 0x06 pc 3.3.9 EVENT_EXECUTION_KILLED 2 source 0x9008 0x00 0x02 0x04 0x06 pc 3.3.10 NODE_SPECIFIC_ERROR 4 source 0x9009 0x00 0x02 0x04 0x06 pc message: String … 13
  • 20. 3 Messages 3.3.11 EXECUTION_STATE_CHANGED 4 source 0x900A 0x00 0x02 0x04 0x06 pc flags 0x08 3.3.12 BREAKPOINT_SET_RESULT 4 source 0x900B 0x00 0x02 0x04 0x06 pc success 0x08 3.4 Message from IDE to all nodes This section describes messages broadcasted to all robots. There is only one single messege of this type. 14
  • 21. 3.5 Messages from IDE to a specific node 3.4.1 GET_DESCRIPTION 2 source 0xA000 0x00 0x02 0x04 0x06 version This message is also known as the “presence” message. It is usually the first message sent by the IDE to initiate the dialog with the robots. 3.5 Messages from IDE to a specific node The following messages target a specific robot. The first argument in the message’s payload is always the id of the robot. 3.5.1 SET_BYTECODE size source 0xA001 0x00 0x02 0x04 0x06 dest start bytecode[0] … bytecode[n] 0x08 0x0A … 15
  • 22. 3 Messages 3.5.2 RESET 2 source 0xA002 0x00 0x02 0x04 0x06 dest 3.5.3 RUN 2 source 0xA003 0x00 0x02 0x04 0x06 dest 3.5.4 PAUSE 2 source 0xA004 0x00 0x02 0x04 0x06 dest 16
  • 23. 3.5 Messages from IDE to a specific node 3.5.5 STEP 2 source 0xA005 0x00 0x02 0x04 0x06 dest 3.5.6 STOP 2 source 0xA006 0x00 0x02 0x04 0x06 dest 3.5.7 GET_EXECUTION_STATE 2 source 0xA007 0x00 0x02 0x04 0x06 dest 17
  • 24. 3 Messages 3.5.8 BREAKPOINT_SET 4 source 0xA008 0x00 0x02 0x04 0x06 dest pc 0x08 3.5.9 BREAKPOINT_CLEAR 4 source 0xA009 0x00 0x02 0x04 0x06 dest pc 0x08 3.5.10 BREAKPOINT_CLEAR_ALL 2 source 0xA00A 0x00 0x02 0x04 0x06 dest 18
  • 25. 3.5 Messages from IDE to a specific node 3.5.11 GET_VARIABLES 6 source 0xA00B 0x00 0x02 0x04 0x06 dest start length 0x08 0x0A 3.5.12 SET_VARIABLES size source 0xA00C 0x00 0x02 0x04 0x06 dest start variable[0] … variable[n] 0x08 0x0A … 19
  • 26. 3 Messages 3.5.13 WRITE_BYTECODE 2 source 0xA00D 0x00 0x02 0x04 0x06 dest 3.5.14 REBOOT 2 source 0xA00E 0x00 0x02 0x04 0x06 dest 3.5.15 SUSPEND_TO_RAM 2 source 0xA00F 0x00 0x02 0x04 0x06 dest This message sends the robot to sleep. 20
  • 27. 3.5 Messages from IDE to a specific node 3.5.16 INVALID 0 source 0xFFFF 0x00 0x02 0x04 21