Software Propriety

I’m curious to learn more about the internals of the Cortex microcontroller, in terms of software.

I know Intellitek makes EasyC, Robomatter makes RobotC, and Innovation First maintains the VEX robotics system. Who develops the Master CPU firmware? Which of the low level functions does the Master CPU firmware provide? I know it handles the VEXnet connection, for one. What functionality is provided by the RobotC and easyC firmwares? Is their purpose to implement the APIs provided in their software toolkits? Where is the filesystem implemented? Who writes the joystick firmware? Who writes the HID drivers?

Lastly, is any of this software open source? Or is it all proprietary?

Some such information on similar topics has been posted by
MarkO (has open source vex libraries for vex),
Quazar (has posted about VexPro controller with open source)
jpearman (programming internals)

All of the software is closed source.

IFI provides the master firmware for the cortex and joystick. The main functionality this provides is

connectivity
competition control
motor control for PWM motors 2 - 9
system leds, power management and battery sensing.
USB host and client drivers (depending on operational mode)

EasyC and ROBOTC provide the functionality for the user processor, the STM32

All digital IO
All analog IO
Higher level functions above the digital IO and analog IO such as quadrature encoder support.
control of motors 1 and 10 (although these can still be disabled by the master cpu)
serial ports
I2C port
flash memory support (ROBOTC has a basic file system)

The two processors have an SPI interface between the two for joystick and motor control and status. They also use an asynchronous connection for such things as loading firmware onto the user processor and debugging.

These are many details around but nothing is very organized so spend some time searching the forums and wiki.

I have had the PIC Controllers for many years, but only recently got access to a Cortex Controller…

One of the Many Vex Things I have on my To Do list is to Document and Publish the above information for the PIC, the Cortex and the VEXPro Controllers…

You will need to “Search, Search and Search”, ( Advanced Search Link ), the Technical Discussion Forum, and the General Forum, and as a Last Resort, post a Question here ( or PM one of us jpearman, jgraber, Quazar or myself MarkO ] ). We can usually remember About When or Who, Worked or Reported on something specific, and give you some “guidance”… :wink: