HSC2011/Communication
aus Metalab Wiki, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Most pieces of information (events, commands, etc.) travel through the whole software stack. The steps there and interfaces are:
File | Implementation | Interface | Description |
---|---|---|---|
firmware/ hardware.{cc,h} | Arduino calls | most low-level hardware functions, defining which pin maps to which function | |
boolean button(), void buzzer(uint16_t freq), … | |||
firmware/ firmware.cc | main loop | dispatch events | |
firmware/ firmware_net.{cc,h} (running on the buzzer) | net_proc(), net_send_until_acked() | send what is in send buffer, receive into send buffer | |
RF12 library calls | |||
firmware/ pktspec.h | struct formats for different package types | "wire" format of data | |
firmware/ firmware_net.{cc,h} (running on the base station) | RF library calls | ||
net_proc(), net_send() | |||
firmware/ firmware.cc | main loop | dispatch events | |
firmware/ firmware_net.{cc,h} | ser_printpkt(), ser_poll() | parse and serialize packages | |
Arduino serial library calls | |||
Serial USB connection | S 01 * * nnnn... | as described in serialprotocol | |
Ygor | Java server | Sends packages inserted via HTTP interface to serial, stores packages received via serial for polling | |
/poll?name=ls_events.sql | |||
software/ …/ base.js | JavaScript application | library for developing games | |
Edubuzzer.event_occurred, … | game development API | ||
your application | whatever you like |