Initial support for RP2040
This commit is contained in:
		
							
								
								
									
										109
									
								
								examples/arduino-external-libs/src/main.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										109
									
								
								examples/arduino-external-libs/src/main.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,109 @@ | ||||
| #include <Arduino.h> | ||||
| #include <Adafruit_Sensor.h> | ||||
| #include <Adafruit_LSM303_U.h> | ||||
| #include <Adafruit_L3GD20_U.h> | ||||
| #include <Adafruit_9DOF.h> | ||||
|  | ||||
| /* Assign a unique ID to the sensors */ | ||||
| Adafruit_LSM303_Accel_Unified accel = Adafruit_LSM303_Accel_Unified(30301); | ||||
| Adafruit_LSM303_Mag_Unified   mag   = Adafruit_LSM303_Mag_Unified(30302); | ||||
| Adafruit_L3GD20_Unified       gyro  = Adafruit_L3GD20_Unified(20); | ||||
|  | ||||
| void displaySensorDetails(void) | ||||
| { | ||||
|   sensor_t sensor; | ||||
|  | ||||
|   accel.getSensor(&sensor); | ||||
|   Serial.println(F("----------- ACCELEROMETER ----------")); | ||||
|   Serial.print  (F("Sensor:       ")); Serial.println(sensor.name); | ||||
|   Serial.print  (F("Driver Ver:   ")); Serial.println(sensor.version); | ||||
|   Serial.print  (F("Unique ID:    ")); Serial.println(sensor.sensor_id); | ||||
|   Serial.print  (F("Max Value:    ")); Serial.print(sensor.max_value); Serial.println(F(" m/s^2")); | ||||
|   Serial.print  (F("Min Value:    ")); Serial.print(sensor.min_value); Serial.println(F(" m/s^2")); | ||||
|   Serial.print  (F("Resolution:   ")); Serial.print(sensor.resolution); Serial.println(F(" m/s^2")); | ||||
|   Serial.println(F("------------------------------------")); | ||||
|   Serial.println(F("")); | ||||
|  | ||||
|   gyro.getSensor(&sensor); | ||||
|   Serial.println(F("------------- GYROSCOPE -----------")); | ||||
|   Serial.print  (F("Sensor:       ")); Serial.println(sensor.name); | ||||
|   Serial.print  (F("Driver Ver:   ")); Serial.println(sensor.version); | ||||
|   Serial.print  (F("Unique ID:    ")); Serial.println(sensor.sensor_id); | ||||
|   Serial.print  (F("Max Value:    ")); Serial.print(sensor.max_value); Serial.println(F(" rad/s")); | ||||
|   Serial.print  (F("Min Value:    ")); Serial.print(sensor.min_value); Serial.println(F(" rad/s")); | ||||
|   Serial.print  (F("Resolution:   ")); Serial.print(sensor.resolution); Serial.println(F(" rad/s")); | ||||
|   Serial.println(F("------------------------------------")); | ||||
|   Serial.println(F("")); | ||||
|  | ||||
|   mag.getSensor(&sensor); | ||||
|   Serial.println(F("----------- MAGNETOMETER -----------")); | ||||
|   Serial.print  (F("Sensor:       ")); Serial.println(sensor.name); | ||||
|   Serial.print  (F("Driver Ver:   ")); Serial.println(sensor.version); | ||||
|   Serial.print  (F("Unique ID:    ")); Serial.println(sensor.sensor_id); | ||||
|   Serial.print  (F("Max Value:    ")); Serial.print(sensor.max_value); Serial.println(F(" uT")); | ||||
|   Serial.print  (F("Min Value:    ")); Serial.print(sensor.min_value); Serial.println(F(" uT")); | ||||
|   Serial.print  (F("Resolution:   ")); Serial.print(sensor.resolution); Serial.println(F(" uT")); | ||||
|   Serial.println(F("------------------------------------")); | ||||
|   Serial.println(F("")); | ||||
|  | ||||
|   delay(500); | ||||
| } | ||||
|  | ||||
| void setup(void) | ||||
| { | ||||
|   Serial.begin(115200); | ||||
|   Serial.println(F("Adafruit 9DOF Tester")); Serial.println(""); | ||||
|  | ||||
|   /* Initialise the sensors */ | ||||
|   if(!accel.begin()) | ||||
|   { | ||||
|     /* There was a problem detecting the ADXL345 ... check your connections */ | ||||
|     Serial.println(F("Ooops, no LSM303 detected ... Check your wiring!")); | ||||
|     while(1); | ||||
|   } | ||||
|   if(!mag.begin()) | ||||
|   { | ||||
|     /* There was a problem detecting the LSM303 ... check your connections */ | ||||
|     Serial.println("Ooops, no LSM303 detected ... Check your wiring!"); | ||||
|     while(1); | ||||
|   } | ||||
|   if(!gyro.begin()) | ||||
|   { | ||||
|     /* There was a problem detecting the L3GD20 ... check your connections */ | ||||
|     Serial.print("Ooops, no L3GD20 detected ... Check your wiring or I2C ADDR!"); | ||||
|     while(1); | ||||
|   } | ||||
|  | ||||
|   /* Display some basic information on this sensor */ | ||||
|   displaySensorDetails(); | ||||
| } | ||||
|  | ||||
| void loop(void) | ||||
| { | ||||
|   /* Get a new sensor event */ | ||||
|   sensors_event_t event; | ||||
|  | ||||
|   /* Display the results (acceleration is measured in m/s^2) */ | ||||
|   accel.getEvent(&event); | ||||
|   Serial.print(F("ACCEL ")); | ||||
|   Serial.print("X: "); Serial.print(event.acceleration.x); Serial.print("  "); | ||||
|   Serial.print("Y: "); Serial.print(event.acceleration.y); Serial.print("  "); | ||||
|   Serial.print("Z: "); Serial.print(event.acceleration.z); Serial.print("  ");Serial.println("m/s^2 "); | ||||
|  | ||||
|   /* Display the results (magnetic vector values are in micro-Tesla (uT)) */ | ||||
|   mag.getEvent(&event); | ||||
|   Serial.print(F("MAG   ")); | ||||
|   Serial.print("X: "); Serial.print(event.magnetic.x); Serial.print("  "); | ||||
|   Serial.print("Y: "); Serial.print(event.magnetic.y); Serial.print("  "); | ||||
|   Serial.print("Z: "); Serial.print(event.magnetic.z); Serial.print("  ");Serial.println("uT"); | ||||
|  | ||||
|   /* Display the results (gyrocope values in rad/s) */ | ||||
|   gyro.getEvent(&event); | ||||
|   Serial.print(F("GYRO  ")); | ||||
|   Serial.print("X: "); Serial.print(event.gyro.x); Serial.print("  "); | ||||
|   Serial.print("Y: "); Serial.print(event.gyro.y); Serial.print("  "); | ||||
|   Serial.print("Z: "); Serial.print(event.gyro.z); Serial.print("  ");Serial.println("rad/s "); | ||||
|  | ||||
|   Serial.println(F("")); | ||||
|   delay(1000); | ||||
| } | ||||
		Reference in New Issue
	
	Block a user