Example project for the Rioux Chem control box
Rioux Chem Control Box
This is the example project for the Rioux Chem Control Box. I have posted some youtube videos to guide you through the hardware and software:
Rioux Chem Control Box - Hardware
http://www.youtube.com/watch?v=MoZ92GRYa4s
Rioux Chem Control Box - Software - Part I
http://www.youtube.com/watch?v=_MwaTLL4dyA==
Rioux Chem Control Box - Software - Part II
http://www.youtube.com/watch?v=j_P89izfgoQ
main.cpp
- Committer:
- emh203
- Date:
- 2014-01-25
- Revision:
- 0:7798270c1f52
- Child:
- 2:73a028278c5c
File content as of revision 0:7798270c1f52:
#include "mbed.h"
#include "CHEM_BOX_INTERFACE.h"
Timer ControlLoopTimer;
float CurrentTemperature;
int main()
{
int i;
//This function always needs called before you do anythign wit the CHEM BOX.
InitChemBox();
//Beep 6 times
for(i=0;i<6;i++)
{
Buzz(.05); //Since the Buzz function immediately returns we should wait a bit before calling it again in the loop
wait(.1); //I want a 50% duty cycle so I will wait twice as long as my previous Buzz() call
}
//Here is an example of how to draw on the screen!
//This makes the backlight white. Each color can be between 0 and 3 (integers... 0,1,2,3)
SmartSwitch_SetBackLightColor(3, 3, 3);
//The display routines are fully buffered. When you call the draw routines, the write to the backbuffer, not the screen.
//The flow is to clear the backbuffer, call all the drawing routines, then dump the backbuffer to the screen.
//This clears the back buffer
GFX_FullDisplayBufferClear(&BackBuffer);
//Draw a box around the edge of the screen
GFX_DrawLine(&BackBuffer, 0,0, PHYSICAL_DISPLAY_XRES - 1,0);
GFX_DrawLine(&BackBuffer, PHYSICAL_DISPLAY_XRES - 1,0,PHYSICAL_DISPLAY_XRES - 1 ,PHYSICAL_DISPLAY_YRES - 1);
GFX_DrawLine(&BackBuffer, PHYSICAL_DISPLAY_XRES - 1 ,PHYSICAL_DISPLAY_YRES - 1,0,PHYSICAL_DISPLAY_YRES - 1);
GFX_DrawLine(&BackBuffer,0, PHYSICAL_DISPLAY_YRES - 1,0,0);
//Draw a plain string using the 5x7 font.
GFX_DrawString(&BackBuffer,"Rioux Box",6,2, &Font5x7);
GFX_DrawHline(&BackBuffer,0,PHYSICAL_DISPLAY_XRES - 1 ,12);
//This shows how to do a printf. Using this allows you to put internal variables, etc on the screen.
//Just lookup documentation on printf on the web to see examples of escape sequences in the control strings
//In this example API_VERSION is a string so we use %s to display it
GFX_printf(&BackBuffer,15,20, &Font3x5,"Ver: %s",API_VERSION);
//Move the backbuffer to the actual display
GFX_DumpRenderContextToPhysicalScreen(&BackBuffer);
//Here is the main super loop
//reset and start our control loop Timer
ControlLoopTimer.reset();
ControlLoopTimer.start();
while(1)
{
//Call this often if you want the USB interface/Terminal
ProcessTerminal();
/*
//control loop example
//We will do something ever 250mS.
//Use a timer and an if statement we won't hold the microprocessor from do other things in the main super loop!
if(ControlLoopTimer.read_ms >= 250)
{
ControlLoopTimer.reset();
//if 250mSec has elapsed then do our control loop
CurrentTemperature = ReadThermocouple(0);
if(CurrentTemperature < 15.5)
{
EnableHeater(0);
}
else
{
DisableHeater(0);
}
FlushDigitalIO(); //Remeber, the digital outs are queued up until this is called!
}
*/
}
}
Eli Hughes

