Skip to content
Snippets Groups Projects
Commit 42af5541 authored by jdkruege's avatar jdkruege
Browse files

Demo files updated. Trying to get MPU to work

parent 7b759297
Branches master
No related tags found
No related merge requests found
Showing
with 97 additions and 55 deletions
...@@ -18,7 +18,6 @@ ...@@ -18,7 +18,6 @@
<ClCompile Include="Sources\MessagePassing\Mailbox.cpp" /> <ClCompile Include="Sources\MessagePassing\Mailbox.cpp" />
<ClCompile Include="Sources\MessagePassing\Message.cpp" /> <ClCompile Include="Sources\MessagePassing\Message.cpp" />
<ClCompile Include="Sources\Sensor\Joystick.cpp" /> <ClCompile Include="Sources\Sensor\Joystick.cpp" />
<ClCompile Include="Sources\Sensor\MPU9250.cpp" />
<ClCompile Include="Sources\Server.cpp" /> <ClCompile Include="Sources\Server.cpp" />
<ClCompile Include="Sources\Service\Service.cpp" /> <ClCompile Include="Sources\Service\Service.cpp" />
<ClCompile Include="Sources\Source.cpp" /> <ClCompile Include="Sources\Source.cpp" />
...@@ -32,7 +31,6 @@ ...@@ -32,7 +31,6 @@
<ClInclude Include="Headers\Service\GyroService.h" /> <ClInclude Include="Headers\Service\GyroService.h" />
<ClInclude Include="Headers\Sensor\Joystick.h" /> <ClInclude Include="Headers\Sensor\Joystick.h" />
<ClInclude Include="Headers\MessagePassing\Mailbox.h" /> <ClInclude Include="Headers\MessagePassing\Mailbox.h" />
<ClInclude Include="Headers\Sensor\MPU9250.h" />
<ClInclude Include="Headers\Server.h" /> <ClInclude Include="Headers\Server.h" />
<ClInclude Include="Headers\Service\Service.h" /> <ClInclude Include="Headers\Service\Service.h" />
<ClInclude Include="Headers\System\Thread.h" /> <ClInclude Include="Headers\System\Thread.h" />
......
...@@ -60,9 +60,6 @@ ...@@ -60,9 +60,6 @@
<ClCompile Include="Sources\Sensor\Joystick.cpp"> <ClCompile Include="Sources\Sensor\Joystick.cpp">
<Filter>Source Files\Sensors</Filter> <Filter>Source Files\Sensors</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="Sources\Sensor\MPU9250.cpp">
<Filter>Source Files\Sensors</Filter>
</ClCompile>
<ClCompile Include="Sources\Service\Service.cpp"> <ClCompile Include="Sources\Service\Service.cpp">
<Filter>Source Files\Services</Filter> <Filter>Source Files\Services</Filter>
</ClCompile> </ClCompile>
...@@ -92,9 +89,6 @@ ...@@ -92,9 +89,6 @@
<ClInclude Include="Headers\Sensor\Joystick.h"> <ClInclude Include="Headers\Sensor\Joystick.h">
<Filter>Header Files\Sensors</Filter> <Filter>Header Files\Sensors</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="Headers\Sensor\MPU9250.h">
<Filter>Header Files\Sensors</Filter>
</ClInclude>
<ClInclude Include="Headers\Service\Service.h"> <ClInclude Include="Headers\Service\Service.h">
<Filter>Header Files\Services</Filter> <Filter>Header Files\Services</Filter>
</ClInclude> </ClInclude>
......
...@@ -15,8 +15,14 @@ ...@@ -15,8 +15,14 @@
<Text Include="README.txt" /> <Text Include="README.txt" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="buttonInterrupt.cpp" />
<ClCompile Include="MPU9250.cpp" />
<ClCompile Include="Source.cpp" /> <ClCompile Include="Source.cpp" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<ClInclude Include="buttonInterrupt.h" />
<ClInclude Include="MPU9250.h" />
</ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<ProjectGuid>{AC5B185E-4C05-4379-9A89-FF1D1CDA7775}</ProjectGuid> <ProjectGuid>{AC5B185E-4C05-4379-9A89-FF1D1CDA7775}</ProjectGuid>
<RootNamespace>DefaultController</RootNamespace> <RootNamespace>DefaultController</RootNamespace>
......
...@@ -26,5 +26,19 @@ ...@@ -26,5 +26,19 @@
<ClCompile Include="Source.cpp"> <ClCompile Include="Source.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="buttonInterrupt.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="MPU9250.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="MPU9250.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="buttonInterrupt.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
</Project> </Project>
\ No newline at end of file
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
@author Jonathan Krueger @author Jonathan Krueger
*/ */
#include #include "MPU9250.h"
#pragma region Definitions #pragma region Definitions
#define USER_CTRL 0x6A #define USER_CTRL 0x6A
...@@ -42,7 +42,7 @@ MPU9250::MPU9250() { ...@@ -42,7 +42,7 @@ MPU9250::MPU9250() {
spi->frequency(1000000); spi->frequency(1000000);
// set the mode // set the mode
spi->mode(MRAA_SPI_MODE1); spi->mode(SPI_MODE1);
// ensure MSB is sent first // ensure MSB is sent first
spi->lsbmode(false); spi->lsbmode(false);
......
all: Demo
Demo: Button.o MPU.o
g++ -o Demo Source.cpp Button.o MPU.o -l mraa
Button.o: buttonInterrupt.cpp
g++ -c -o Button.o buttonInterrupt.cpp
MPU.o: MPU9250.cpp
g++ -c -o MPU.o MPU9250.cpp
clean:
rm *.o Demo
...@@ -3,63 +3,35 @@ ...@@ -3,63 +3,35 @@
#include <string> #include <string>
#include <stdint.h> #include <stdint.h>
#include <unistd.h> #include <unistd.h>
#include "mraa.hpp" #include "MPU9250.h"
#include "buttonInterrupt.h"
using namespace mraa;
using namespace std; using namespace std;
#pragma region Definitions
#define USER_CTRL 0x6A
#define WHO_AM_I 0x75
#define AM_I_TRUE true
#pragma endregion
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
// set up the mraa library if (buttonInterrupt() == -1)
mraa_init();
// set the SPI channels
Spi* spi = new Spi(0);
// set the frequency ( 10Mhz )
spi->frequency(1000000);
// set the mode
spi->mode(MRAA_SPI_MODE1);
// ensure MSB is sent first
spi->lsbmode(false);
usleep(1000000);
// This disables I2C from the start
spi->write_word(0x10 | USER_CTRL);
usleep(1000000);
while (AM_I_TRUE)
{ {
uint8_t result = spi->write_word(WHO_AM_I); return -1;
cout << "I should be 0x71, I am " << hex << result << endl;
usleep(1000000);
} }
while (!AM_I_TRUE) MPU9250 *instance = MPU9250::instance();
while (1)
{ {
uint16_t gyroX = spi->write_word(0x43) | spi->write_word(0x44); float gyXh = instance->read(0x43);
uint16_t gyroY = spi->write_word(0x45) | spi->write_word(0x46); float gyXl = instance->read(0x44);
uint16_t gyroZ = spi->write_word(0x47) | spi->write_word(0x48); float gyYh = instance->read(0x45);
float gyYl = instance->read(0x46);
float gyZh = instance->read(0x47);
float gyZl = instance->read(0x48);
string state = (buttonState == 0) ? ("Not Pressed") : ("Pressed");
cout << "X: " << hex << gyroX << " Y: " << hex << gyroY << " Z: " << hex << gyroZ << endl; cout << "Gyro X: " << hex << gyXh << " Gyro Y: "<< hex << gyYh << " Gyro Z: " << hex << gyZh << "\t\t\tButton State: " << state << endl;
usleep(1000000); usleep(1000000);
} }
delete spi; return 0;
} }
\ No newline at end of file
/* #include "buttonInterrupt.h"
* buttonInterrupt.c
* void pressed(void* args) {
* Created on: Feb 10, 2016 buttonState = 1;
* Author: Nik }
*/
#include <stdio.h> void released(void* args) {
#include <stdlib.h> buttonState = 0;
#include <mraa.h>
static volatile int counter = 1;
void interrupt(void* args) {
fprintf(stdout, "%d\n", counter);
counter++;
} }
int buttonInterrupt() { int buttonInterrupt() {
...@@ -28,19 +21,12 @@ int buttonInterrupt() { ...@@ -28,19 +21,12 @@ int buttonInterrupt() {
if (context == NULL) { if (context == NULL) {
return -1; return -1;
} else {
fprintf(stdout, "GPIO Initialized\n");
} }
mraa_gpio_dir(context, MRAA_GPIO_IN); mraa_gpio_dir(context, MRAA_GPIO_IN);
mraa_gpio_edge_t edge = MRAA_GPIO_EDGE_FALLING; mraa_gpio_isr(context, MRAA_GPIO_EDGE_FALLING, &pressed, NULL);
mraa_gpio_isr(context, MRAA_GPIO_EDGE_RISING, &released, NULL);
mraa_gpio_isr(context, edge, &interrupt, NULL);
// mraa_result_t result = mraa_gpio_isr_exit(context);
// return result;
return 0; return 0;
} }
/*
* buttonInterrupt.c
*
* Created on: Feb 10, 2016
* Author: Nik
*/
#include <stdio.h>
#include <stdlib.h>
#include "mraa.h"
static volatile int buttonState = 0;
int buttonInterrupt();
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment