nmrr 2 лет назад
Родитель
Сommit
a174cdc38d
2 измененных файлов с 8 добавлено и 4 удалено
  1. 1 1
      application.fam
  2. 7 3
      flipper_geiger.c

+ 1 - 1
application.fam

@@ -1,6 +1,6 @@
 App(
     appid="flipper_geiger",
-    name="Geiger counter",
+    name="Geiger Counter",
     apptype=FlipperAppType.EXTERNAL,
     entry_point="flipper_geiger_app",
     cdefines=["APP_GEIGER"],

+ 7 - 3
flipper_geiger.c

@@ -47,7 +47,11 @@ static void draw_callback(Canvas* canvas, void* ctx)
     char buffer[32];
     if (displayStruct.data == 0) snprintf(buffer, sizeof(buffer), "%ld cps - %ld cpm", displayStruct.cps, displayStruct.cpm);
     else if (displayStruct.data == 1) snprintf(buffer, sizeof(buffer), "%ld cps - %.2f uSv/h", displayStruct.cps, ((double)displayStruct.cpm*(double)CONVERSION_FACTOR));
-    else snprintf(buffer, sizeof(buffer), "%ld cps - %.2f mSv/y", displayStruct.cps, (((double)displayStruct.cpm*(double)CONVERSION_FACTOR))*(double)8.76);
+    else if (displayStruct.data == 2) snprintf(buffer, sizeof(buffer), "%ld cps - %.2f mSv/y", displayStruct.cps, (((double)displayStruct.cpm*(double)CONVERSION_FACTOR))*(double)8.76);
+    else if (displayStruct.data == 3) snprintf(buffer, sizeof(buffer), "%ld cps - %.4f Rad/h", displayStruct.cps, ((double)displayStruct.cpm*(double)CONVERSION_FACTOR)/(double)10000);
+    else if (displayStruct.data == 4) snprintf(buffer, sizeof(buffer), "%ld cps - %.2f mR/h", displayStruct.cps, ((double)displayStruct.cpm*(double)CONVERSION_FACTOR)/(double)10);
+    else snprintf(buffer, sizeof(buffer), "%ld cps - %.2f uR/h", displayStruct.cps, ((double)displayStruct.cpm*(double)CONVERSION_FACTOR)*(double)100);
+
 
     for (int i=0;i<SCREEN_SIZE_X;i+=2)
     {
@@ -156,7 +160,7 @@ int32_t flipper_geiger_app()
                     mutexStruct* geigerMutex = (mutexStruct*)acquire_mutex_block(&state_mutex);
 
                     if (geigerMutex->data != 0) geigerMutex->data--;
-                    else geigerMutex->data = 2;
+                    else geigerMutex->data = 5;
 
                     screenRefresh = 1;
                     release_mutex(&state_mutex, geigerMutex);
@@ -165,7 +169,7 @@ int32_t flipper_geiger_app()
                 {
                     mutexStruct* geigerMutex = (mutexStruct*)acquire_mutex_block(&state_mutex);
 
-                    if (geigerMutex->data != 2) geigerMutex->data++;
+                    if (geigerMutex->data != 5) geigerMutex->data++;
                     else geigerMutex->data = 0;
 
                     screenRefresh = 1;