Embedded Controller FAQ

Micro-Robotics home page

this site web
NEWS
FAQ
Here is a list of the questions most frequently asked about our products and services ... or you may like to see a list of our controller system's capabilities.

Q: How do I program your embedded controllers?
A: You program in a high level language called
Venom-SC. The compiler for this is resident on the controller.

There is also an Integrated Development Environment that runs on your PC, called VenomIDE. This provides many useful tools, though you can program using any proprietry terminal emulator, such as Hyperterminal.

It is also possible to program in C or Assembler, but this is not recommended and you will have to provide your own development tools.

Q: How large can programs get?
A: Venom code is very space-efficient. Only a couple of customers have ever managed to fill the VM-1's 192K application space, with tens of thousands of lines of code, and they were then able to upgrade to the VM-1e with a much larger (512K) application area.

Your code will also be smaller than you might expect because it doesn't need to contain many device drivers as many of these are already in the Venom-SC language.

To give you an idea of the size of the code, a large application that takes 150K as text will take around 45K as Venom-SC code - less than 25% of the total available in a VM-1, and only 9% of the space in a VM-1e.

Q: How much power does a controller take?
A: Our controllers can usually be used in battery powered applications because they take so little current.

Q: How many I/O can you control?
A: You can easily control around 300 Digital I/O and 48 Analogue I/O from a single controller.

Q: Do you support TCP/IP?
A: Yes, Venom-SC has TCP/IP and other Internet protocols built in.

Q: Can you read 16-bit analogue inputs?
A: Many types of 16-bit ADC may be controlled using the I2C bus or the SPI bus.

We supply an Analogue I/O Port with an 18-bit ADC on board.

Q: Can you drive Quarter VGA graphics panels?
A: Our controllers can drive many types of graphic and alphanumeric LCD, including QVGA. Currently there is no support for colour displays.

Q: Can you drive touch screens?
A: Yes - a software object will drive the TSC2003 touch screen driver IC.

Q: How do I store non-volatile parameters/data?
A: There are software objects that handle non-volatile data:

  • SafeData - useful for storing parameters or calibration data for your application. Very safe as it's stored in EEPROM. Validation using checksum.
  • Filing system - stores data and text files, in memory cards or non-volatile RAM.
  • Array - stores data either in the Flash (i.e. not alterable except at application creation time) or in the non-volatile RAM. The RAM is not as safe as EEPROM, etc, as a battery failure or processor crash can erase it. Data may be validated with a built-in checksum.

Q: What kind of text handling is available?
A: Venom has good text handling capabilities. Use the String or Text Buffer objects to hold text, then...

  • PRINT TO the String or Buffer to append text
  • PRINT all of the String or Buffer, or any sub-section of it to extract sections of text
  • Use the .Put message to append or insert text
  • Use the .Find message to search for occurrences of a sub-string.
  • Use the .Element message to access any character within the buffer
Text may also be held in Arrays and "string constants".

The protocol analyser object ProtAnalyser can extract keywords and numbers from any input stream or textual object.

Q: What's the difference between a string variable and a text buffer?
A:
Buffers expand and shrink as needed, in blocks of about 256 bytes, whereas strings take a fixed amount of memory, specified as a maximum length when created. Most operations can be done on either.

Q: How do I enter numbers on a numeric keypad, calculator style?
A: Use the NumberReader object in conjunction with the Keypad object.

Q: How do I handle real calendar dates?
A: Use the Real Time Clock Calendar IC and the Date/Time object...

Top Top
Top Top
Top Top