Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: C027_Support C12832 LM75B MMA7660 MbedSmartRest mbed-rtos mbed
Fork of MbedSmartRestMain by
io.cpp
- Committer:
- vwochnik
- Date:
- 2014-02-18
- Revision:
- 19:7bee744fe527
- Parent:
- 18:6bce406b3da2
- Child:
- 20:ef9cc1b42e9d
File content as of revision 19:7bee744fe527:
#include "io.h"
#include "rtos.h"
void timer_callback(void const*);
// Using Arduino pin notation
C12832 lcdDisplay(D11, D13, D12, D7, D10);
MMA7660 accSensor(SDA,SCL);
LM75B tempSensor(SDA,SCL);
DigitalOut button(D4);
AnalogIn meter0(A0);
AnalogIn meter1(A1);
RtosTimer *timer;
bool tempFound = false, accFound = false;
uint32_t count = 0;
bool btnPressed = false;
void io_init(void)
{
timer = new RtosTimer(&timer_callback, osTimerPeriodic);
timer->start(50);
tempFound = tempSensor.open();
accFound = accSensor.testConnection();
if (!tempFound)
puts("Temperature sensor not found.");
if (!accFound)
puts("Accelerometer not found.");
}
float temperature()
{
if (!tempFound)
return 0.0;
return tempSensor.temp();
}
acceleration_t acceleration()
{
float data[3];
acceleration_t ret = { 0.0, 0.0, 0.0 };
if (accFound) {
accSensor.readData(data);
ret.x = data[0];
ret.y = data[1];
ret.z = data[2];
}
return ret;
}
uint32_t counter()
{
return count;
}
double potentiometer(uint8_t n)
{
switch (n) {
case 0: return (double)meter0;
case 1: return (double)meter1;
default: return 0.0;
}
}
void timer_callback(void const*)
{
if ((!btnPressed) && (button))
count++;
btnPressed = button;
}
