@@ -320,7 +320,7 @@ mod app_sensor {
320320 if !!sensor. is_null ( ) {
321321 {
322322 :: core:: panicking:: panic ( & ( "no sensor" ,
323- "rust/ app/ src/ app_sensor.rs" ,
323+ "rust\\ app\\ src\\ app_sensor.rs" ,
324324 54u32 , 5u32 ) )
325325 }
326326 } ;
@@ -355,17 +355,17 @@ mod app_sensor {
355355 if !!sensor. is_null ( ) {
356356 {
357357 :: core:: panicking:: panic ( & ( "null sensor" ,
358- "rust/ app/ src/ app_sensor.rs" ,
358+ "rust\\ app\\ src\\ app_sensor.rs" ,
359359 92u32 , 5u32 ) )
360360 }
361361 } ;
362362 let sensor_value = convert_sensor_data ( sensor_data, sensor_type) ;
363- if let SensorValueType :: None = sensor_value. val {
363+ if let SensorValueType :: None = sensor_value. value {
364364 if !false {
365365 {
366366 :: core:: panicking:: panic ( & ( "bad type" ,
367- "rust/ app/ src/ app_sensor.rs" ,
368- 96u32 , 55u32 ) )
367+ "rust\\ app\\ src\\ app_sensor.rs" ,
368+ 96u32 , 57u32 ) )
369369 }
370370 } ;
371371 }
@@ -385,7 +385,8 @@ mod app_sensor {
385385 sensor_type : sensor_type_t ) -> SensorValue {
386386 console:: print ( "TMP listener got rawtmp\n " ) ;
387387 SensorValue { key : & TEMP_SENSOR_KEY ,
388- val :
388+ geo : SensorValueType :: None ,
389+ value :
389390 match sensor_type {
390391 SENSOR_TYPE_AMBIENT_TEMPERATURE_RAW => {
391392 let mut rawtempdata =
@@ -428,8 +429,8 @@ mod app_sensor {
428429 :: core:: fmt:: ArgumentV1 :: new ( arg2,
429430 :: core:: fmt:: Display :: fmt) ] ,
430431 } ) ,
431- & ( "rust/ app/ src/ app_sensor.rs" ,
432- 129u32 ,
432+ & ( "rust\\ app\\ src\\ app_sensor.rs" ,
433+ 130u32 ,
433434 17u32 ) )
434435 }
435436 }
@@ -466,8 +467,8 @@ mod app_sensor {
466467 :: core:: fmt:: ArgumentV1 :: new ( arg2,
467468 :: core:: fmt:: Display :: fmt) ] ,
468469 } ) ,
469- & ( "rust/ app/ src/ app_sensor.rs" ,
470- 131u32 ,
470+ & ( "rust\\ app\\ src\\ app_sensor.rs" ,
471+ 132u32 ,
471472 17u32 ) )
472473 }
473474 }
@@ -514,7 +515,7 @@ mod gps_sensor {
514515 if !!sensor. is_null ( ) {
515516 {
516517 :: core:: panicking:: panic ( & ( "no gps" ,
517- "rust/ app/ src/ gps_sensor.rs" ,
518+ "rust\\ app\\ src\\ gps_sensor.rs" ,
518519 53u32 , 5u32 ) )
519520 }
520521 } ;
@@ -542,17 +543,17 @@ mod gps_sensor {
542543 if !!sensor. is_null ( ) {
543544 {
544545 :: core:: panicking:: panic ( & ( "null sensor" ,
545- "rust/ app/ src/ gps_sensor.rs" ,
546+ "rust\\ app\\ src\\ gps_sensor.rs" ,
546547 80u32 , 5u32 ) )
547548 }
548549 } ;
549550 let sensor_value = convert_gps_data ( sensor_data, sensor_type) ;
550- if let SensorValueType :: None = sensor_value. val {
551+ if let SensorValueType :: None = sensor_value. value {
551552 console:: print ( "Warn: GPS not ready\n " ) ;
552553 return MynewtError :: SYS_EINVAL ;
553554 }
554555 if let SensorValueType :: Geolocation { latitude, longitude, altitude }
555- = sensor_value. val {
556+ = sensor_value. value {
556557 console:: print ( "Info: GPS lat: " ) ;
557558 console:: printdouble ( latitude) ;
558559 console:: print ( ", lng: " ) ;
@@ -572,7 +573,8 @@ mod gps_sensor {
572573 sensor_type : sensor_type_t ) -> SensorValue {
573574 console:: print ( "Info: GPS listener converting geolocation\n " ) ;
574575 SensorValue { key : & GPS_SENSOR_KEY ,
575- val :
576+ geo : SensorValueType :: None ,
577+ value :
576578 match sensor_type {
577579 SENSOR_TYPE_GEOLOCATION => {
578580 let mut geolocation =
@@ -615,8 +617,8 @@ mod gps_sensor {
615617 :: core:: fmt:: ArgumentV1 :: new ( arg2,
616618 :: core:: fmt:: Display :: fmt) ] ,
617619 } ) ,
618- & ( "rust/ app/ src/ gps_sensor.rs" ,
619- 117u32 ,
620+ & ( "rust\\ app\\ src\\ gps_sensor.rs" ,
621+ 118u32 ,
620622 17u32 ) )
621623 }
622624 }
@@ -638,8 +640,13 @@ mod gps_sensor {
638640 }
639641 } , }
640642 }
643+ static mut current_geolocation: SensorValueType = SensorValueType :: None ;
641644 /// Aggregate the sensor value with other sensor data before transmitting to server.
642- fn aggregate_sensor_data ( _sensor_value : & SensorValue ) { }
645+ fn aggregate_sensor_data ( sensor_value : SensorValue ) {
646+ if let SensorValueType :: Geolocation { .. } = sensor_value. value {
647+ unsafe { current_geolocation = sensor_value. value } ;
648+ } else { sensor_value. geo = current_geolocation; }
649+ }
643650}
644651use core:: panic:: PanicInfo ;
645652use cortex_m:: asm:: bkpt;
0 commit comments