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: Hepta9axis HeptaBattery HeptaCamera_GPS HeptaTemp HeptaXbee SDFileSystem mbed
Fork of 3daf572bcae1 by
Revision 1:20db10adb732, committed 2017-10-28
- Comitter:
- tuba
- Date:
- Sat Oct 28 09:25:50 2017 +0000
- Parent:
- 0:ea40bd156a1a
- Child:
- 2:25c54b82c4e8
- Commit message:
- final commit;
Changed in this revision
| 3daf572bcae1/HeptaCamera_GPS.lib | Show annotated file Show diff for this revision Revisions of this file |
| 3daf572bcae1/main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/3daf572bcae1/HeptaCamera_GPS.lib Thu Oct 26 11:35:16 2017 +0000 +++ b/3daf572bcae1/HeptaCamera_GPS.lib Sat Oct 28 09:25:50 2017 +0000 @@ -1,1 +1,1 @@ -https://os.mbed.com/users/tuba/code/HeptaCamera_GPS/#a30fa71eddb7 +https://os.mbed.com/users/tuba/code/HeptaCamera_GPS/#da116273b461
--- a/3daf572bcae1/main.cpp Thu Oct 26 11:35:16 2017 +0000
+++ b/3daf572bcae1/main.cpp Sat Oct 28 09:25:50 2017 +0000
@@ -16,9 +16,25 @@
HeptaCamera_GPS cam_gps(p13, p14,p25, p24);
HeptaXbee xbee(p9,p10);
+bool picture_here (float latitude, char ns, float longitude, char ew)
+{
+ return true;
+ if ((latitude >=35.722) &(latitude<=35.728) && (longitude >=140.055) && (longitude<=140.060) && (ns == 'N')&&(ew=='E'))
+ return true;
+ return false;
+}
+
+bool send_here (float latitude, char ns, float longitude, char ew)
+{
+ return true;
+ if ((latitude >=42.664) &(latitude<=42.699) && (longitude >=23.330) && (longitude<=23.350) && (ns == 'N')&&(ew=='E'))
+ return true;
+ return false;
+}
+
int main() {
xbee.baud(9600);
- xbee.printf("Xbee comunication begin!\n\r");
+ //xbee.printf("Xbee comunication begin!\n\r");
char * dir_name = "/sd/Pictures";
mkdir(dir_name, 0777);
@@ -26,9 +42,11 @@
//
mkdir("/sd/Data", 0777);
pc.printf("Created!\n\r");
+ //cam_gps.gps_setting();
// while (true) {
- // pc.putc(cam_gps.getc());
+ // xbee.putc(cam_gps.getc());
//}
+
while (true) {
pc.printf("Begin messurment\n\r");
float batLev;
@@ -38,70 +56,109 @@
if(fp == NULL) {
error("Could not open file for write\n\r");
}
-
- for (int i =0; i < 5; ++i)
- {
- char fname[64];
- snprintf(fname, sizeof(fname), "%s/Picture%d.jpg", dir_name, i);
- //snprintf(fname, sizeof(fname), "/sd/test.jpg");
- FILE *fp_jpeg = fopen(fname, "w");
- //cam_gps.set_image_file(fp_jpeg);
- cam_gps.Sync();
- cam_gps.initialize(HeptaCamera_GPS::Baud115200, HeptaCamera_GPS::JpegResolution320x240);
-
- err1 = cam_gps.getJpegSnapshotPicture(fp_jpeg);
- //cam_gps.test_jpeg_snapshot_picture(1);
-
- if (HeptaCamera_GPS::NoError == err1) {
- printf("[ OK ] : Picture taken\r\n");
- } else {
- printf("[FAIL] : Picture failed (Error=%02X)\r\n", (int)err1);
- }
- fclose(fp_jpeg);
-
- fprintf(fp, "Picture data - Name [%s]\n\r--------------------------------\n\r", fname);
+ float time=0.0,latitude=0.0,longitude=0.0,hacu=0.0,altitude=0.0;
+ char ns='A',ew='B';
+
+ for (int i =0; i < 1; ++i)
+ {
+ pc.printf("Mesurement attemt %d\r\n", i);
+ fprintf(fp, "Picture data - Name\n\r--------------------------------\n\r");
temp.temp_sense(&tempMes);
fprintf(fp, "Temperature [%f]\n\r", tempMes);
+ pc.printf( "Temperature [%f]\n\r", tempMes);
bat.vol(&batLev);
fprintf(fp, "Battery Level is [%f] Temperature [%f] ", batLev, tempMes);
+ pc.printf("Battery Level is [%f] Temperature [%f] \n\r", batLev, tempMes);
float mx,my,mz;
n_axis.sen_mag(&mx,&my,&mz);
fprintf(fp, "Magnetometer[%f,%f,%f] ",mx,my,mz);
- //pc.printf("Magnet %f,%f,%f\r\n",mx,my,mz);
+ pc.printf("Magnet %f,%f,%f\r\n",mx,my,mz);
float gx,gy,gz;
n_axis.sen_gyro(&gx,&gy,&gz);
fprintf(fp, "Gyroscope[%f,%f,%f] ",gx,gy,gz);
- // pc.printf("Gyroscope %f,%f,%f\r\n",gx,gy,gz);
+ pc.printf("Gyroscope %f,%f,%f\r\n",gx,gy,gz);
float ax,ay,az;
n_axis.sen_acc(&ax,&ay,&az);
fprintf(fp, "Acceletarion[%f,%f,%f]\r\n",ax,ay,az);
- // pc.printf("Acceletarion %f,%f,%f\r\n",ax,ay,az);
+ pc.printf("Acceletarion %f,%f,%f\r\n",ax,ay,az);
int quality=0,stnum=0,gps_check=0;
- char ns='A',ew='B',aunit='m';
- float time=0.0,latitude=0.0,longitude=0.0,hacu=0.0,altitude=0.0;
+ char aunit='m';
+ pc.printf("GPS\r\n");
+ wait(1.0);
cam_gps.gps_setting();
wait(1.0);
cam_gps.gga_sensing(&time, &latitude, &ns, &longitude, &ew, &quality, &stnum, &hacu, &altitude, &aunit, &gps_check);
if((gps_check==0)|(gps_check==1)) {
fprintf(fp, "GPGGA,%f,%f,%c,%f,%c,%d,%d,%f,%f,%c\r\n",time,latitude,ns,longitude,ew,quality,stnum,hacu,altitude,aunit);
+ pc.printf("$GPGGA,%f,%f,%c,%f,%c,%d,%d,%f,%f,%c\r\n",time,latitude,ns,longitude,ew,quality,stnum,hacu,altitude,aunit);
}
fprintf(fp, "Picture data - End\n\r--------------------------------\n\r");
+ pc.printf("Takeing picture \r\n");
+ if (picture_here(latitude,ns,longitude,ew)){
+ pc.printf("Takeing picture attemt %d\r\n", i);
+ char fname[64];
+ snprintf(fname, sizeof(fname), "%s/Picture%d.jpg", dir_name, i);
+ //snprintf(fname, sizeof(fname), "/sd/test.jpg");
+ FILE *fp_jpeg = fopen(fname, "w");
+ //cam_gps.set_image_file(fp_jpeg);
+ //pc.printf("Setting baud\n\r");
+ cam_gps.Sync();
+ cam_gps.initialize(HeptaCamera_GPS::Baud115200, HeptaCamera_GPS::JpegResolution640x480);
+ //pc.printf("Takeing picture\n\r");
+ err1 = cam_gps.getJpegSnapshotPicture(fp_jpeg);
+ //cam_gps.test_jpeg_snapshot_picture(1);
+ if (HeptaCamera_GPS::NoError == err1) {
+ printf("[ OK ] : Picture taken\r\n");
+ } else {
+ printf("[FAIL] : Picture failed (Error=%02X)\r\n", (int)err1);
+ }
+ fclose(fp_jpeg);
+ }
wait(1.0);
- xbee.printf("num = %d\r\n",i);
+ //xbee.printf("num = %d\r\n",i);
}
fclose(fp);
-
- FILE *fp1 = fopen("/sd/Data/Data.txt", "r");
- char buf[100];
- int nread = 0;
- if (fp1) {
- while ((nread = fread(buf, 1, sizeof buf, fp1)) > 0){
- for (int i =0; i<nread; i++)
- {
- xbee.printf("%c", buf[i]);
+ pc.printf("Sending phase\r\n");
+ if (send_here(latitude,ns,longitude,ew))
+ {
+ wait(5.0);
+ FILE *fp1 = fopen("/sd/Data/Data.txt", "r");
+ char buf[100];
+ int nread = 0;
+ if (fp1) {
+ pc.printf("Sending data file %s\r\n", "/sd/Data/Data.txt");
+ //xbee.printf("#SAT6");//%d%s",strlen("/sd/Data/Data.txt"),"/sd/Data/Data.txt");
+ while ((nread = fread(buf, 1, sizeof buf, fp1)) > 0){
+ for (int i =0; i<nread; i++)
+ {
+ xbee.putc(buf[i]);
+ }
}
+ // xbee.printf("#SAT7");
+ } else error("Could not open file for write\n\r");
+ fclose(fp1);
+ wait(15.0);
+ for (int i =0; i < 1; ++i)
+ {
+ char fname[64];
+ snprintf(fname, sizeof(fname), "%s/Picture%d.jpg", dir_name, i);
+ //snprintf(fname, sizeof(fname), "/sd/test.jpg");
+ FILE *fp_jpeg = fopen(fname, "r");
+ char buf[100];
+ int nread = 0;
+ if (fp_jpeg) {
+ pc.printf("Sending image file %s\r\n", fname);
+ // xbee.printf("#SAT8");//%d%s",strlen(fname),fname);
+ while ((nread = fread(buf, 1, sizeof buf, fp_jpeg)) > 0){
+ for (int i =0; i<nread; i++)
+ {
+ xbee.putc(buf[i]);
+ }
+ }
+ // xbee.printf("#SAT9");
+ } else error("Could not open file for write\n\r");
+ fclose(fp_jpeg);
}
- } else error("Could not open file for write\n\r");
- fclose(fp1);
+ }
}
}
\ No newline at end of file
