173 lines
7.5 KiB
C
173 lines
7.5 KiB
C
//
|
|
// Costanti.h
|
|
// Earthquake Network
|
|
//
|
|
// Created by Luca Beretta on 14/09/18.
|
|
// Copyright © 2018 Luca Beretta. All rights reserved.
|
|
//
|
|
|
|
#ifndef Costanti_h
|
|
#define Costanti_h
|
|
|
|
#pragma mark - Debug
|
|
|
|
/// Stampa le risposte delle chiamate al server
|
|
static BOOL const EQNDebugPrintResponse = NO;
|
|
/// Visualizza schermata con info di debug (ex. push token)
|
|
static BOOL const EQNEnableDebugView = NO;
|
|
|
|
#pragma mark - Urls
|
|
|
|
static NSString * const EQNWebsiteAddress = @"https://www.sismo.app";
|
|
static NSString * const EQNTwitterProfileUrl = @"https://twitter.com/SismoDetector";
|
|
static NSString * const EQNAppStoreUrl = @"https://itunes.apple.com/app/id1449893235?mt=8";
|
|
static NSString * const EQNTelegramUrl = @"https://www.telegram.me/eqn_realtime";
|
|
|
|
#pragma mark - Math Constants
|
|
|
|
/// Costante gravitazionale
|
|
static double const EQNMathGravitational = 9.81;
|
|
/// Costante conversione gradi Celsius/Kelvin
|
|
static double const EQNMathKelvin = 273.15;
|
|
|
|
#pragma mark - Server APIs
|
|
|
|
/// Download reti sismiche
|
|
static NSString * const EQNServerUrlDownloadRetiSismiche = @"https://cache.earthquakenetwork.it/distquake_download_automatic21.php%@";
|
|
/// Recupera il tempo ancora disponibile per la versione Pro scontata
|
|
static NSString * const EQNServerUrlOfferTimeRemaining = @"https://srv.earthquakenetwork.it/distquake_download_offer_time_remaining.php";
|
|
/// Registra l'abbonamento acquistato dall'utente
|
|
static NSString * const EQNServerUrlRegisterSubscription = @"https://srv.earthquakenetwork.it/distquake_upload_subscription.php";
|
|
/// Carica le impostazioni delle notifiche definite dall'utente
|
|
static NSString * const EQNServerUrlUploadSettings = @"https://srv.earthquakenetwork.it/distquake_upload_settings_ios.php";
|
|
// URL EQNTipoChiamataRegistrazione server
|
|
static NSString * const EQNServerUrlRegistration = @"https://srv.earthquakenetwork.it/distquake_upload_gcm_regid2.php";
|
|
// URL posizione server
|
|
static NSString * const EQNServerUrlUserLocation = @"https://srv.earthquakenetwork.it/distquake_upload_gcm_latlon.php";
|
|
|
|
static NSString * const EQNServerUrlCalibration = @"https://srv.earthquakenetwork.it/distquake_upload4.php";
|
|
// download rete smartphone
|
|
static NSString * const EQNServerUrlDownloadSmartphoneNetwork = @"https://cache.earthquakenetwork.it/distquake_count_redis3.php";
|
|
// download area check
|
|
static NSString * const EQNServerUrlDownloadAreaCheck = @"https://srv.earthquakenetwork.it/distquake_download_areacheck.php";
|
|
// download pastquakes
|
|
static NSString * const EQNServerUrlDownloadPastQuakes = @"https://srv.earthquakenetwork.it/distquake_download_pastquakes.php";
|
|
// download segnalazioni
|
|
static NSString * const EQNServerUrlDownloadUserReports = @"https://cache.earthquakenetwork.it/distquake_download_manual3.php";
|
|
// Invio segnalazione
|
|
static NSString * const EQNServerUrlSendUserReport = @"https://srv.earthquakenetwork.it/distquake_upload_manual4.php";
|
|
static NSString * const EQNServerUrlSendUserReportMessage = @"https://srv.earthquakenetwork.it/distquake_upload_manual_message.php";
|
|
/// Effettua un test delle notifiche push
|
|
static NSString * const EQNServerUrlTestAlarm = @"https://srv.earthquakenetwork.it/distquake_upload_testalarm.php";
|
|
/// Simulatore per calcolo pre-allerta
|
|
static NSString * const EQNServerUrlAlertSimulator = @"https://srv.earthquakenetwork.it/distquake_download_alertposition.php";
|
|
|
|
#pragma mark - UserDefaults Keys
|
|
|
|
static NSString * const EQNUserDefaultSeismicNetworkCards = @"EQNData.RetiSismiche";
|
|
|
|
#pragma mark - NSNotification
|
|
|
|
/// Notifica di fallimento registrazione al server (user_id non ricavato)
|
|
static NSNotificationName const EQNServerRegistrationDidFailNotification = @"EQNServerRegistrationDidFailNotification";
|
|
/// Notifica di cambio stato permesso di localizzazione
|
|
static NSNotificationName const EQNAuthorizationStatusDidChangeNotification = @"EQNAuthorizationStatusDidChangeNotification";
|
|
/// Notifica di completamento download dei dati
|
|
static NSNotificationName const EQNDownloadDataDidCompleteNotification = @"EQNDownloadDataDidCompleteNotification";
|
|
/// Notifica di acquisto in-app effettuato
|
|
static NSNotificationName const EQNInAppPurchaseDidCompleteNotification = @"EQNInAppPurchaseDidCompleteNotification";
|
|
/// Notifica di acquisto in-app fallito
|
|
static NSNotificationName const EQNInAppPurchaseDidFailNotification = @"EQNInAppPurchaseDidFailNotification";
|
|
/// Notifica di nessun acquisto trovato
|
|
static NSNotificationName const EQNInAppPurchaseNoTransactionsNotification = @"EQNInAppPurchaseNoTransactionsNotification";
|
|
/// Notifica per aggiornare i log di debug
|
|
static NSNotificationName const EQNDebugLogWillUpdateNotification = @"EQNDebugLogWillUpdateNotification";
|
|
|
|
#pragma mark - Other constants
|
|
|
|
static NSTimeInterval const EQNSeismicDataRefreshInterval = 120.0;
|
|
/// Tempo di attesa (secondi) tra l'invio di due segnalazioni
|
|
static NSTimeInterval const EQNSendReportDelayBetweenMessages = 300.0; // 5 minuti
|
|
/// Tempo di attesa (secondi) per l'invio di due commenti
|
|
static NSTimeInterval const EQNSendReportDelayBetweenComments = 900.0; // 30 minuti
|
|
|
|
#ifdef DEBUG
|
|
static NSString * const EQNAdMobAppIdAdaptiveBanner = @"ca-app-pub-3940256099942544/2934735716"; // test
|
|
static NSString * const EQNAdMobAppIdNativeBanner = @"ca-app-pub-0053870219990922/6195421224";
|
|
#else
|
|
static NSString * const EQNAdMobAppIdAdaptiveBanner = @"ca-app-pub-0053870219990922/3394298808";
|
|
static NSString * const EQNAdMobAppIdNativeBanner = @"ca-app-pub-0053870219990922/6195421224";
|
|
#endif
|
|
|
|
|
|
#define MESSAGGIO @"MESSAGGIO_ERRORE"
|
|
|
|
/// Sections inside the app
|
|
typedef NS_ENUM(NSInteger, EQNTipoChiamata) {
|
|
EQNTipoChiamataRegistrazione = 0,
|
|
EQNTipoChiamataPosizione,
|
|
EQNTipoChiamataCalibrazione,
|
|
EQNTipoChiamataRilevamento,
|
|
EQNTipoChiamataDownloadDati,
|
|
EQNTipoChiamataAreaCheck,
|
|
EQNTipoChiamataPastquakes,
|
|
EQNTipoChiamataUtentiDisponibili,
|
|
EQNTipoChiamataTempoDisponibile,
|
|
EQNTipoChiamataSegnalazioneManuale,
|
|
EQNTipoChiamataTsunami,
|
|
EQNTipoChiamataSegnalazioneTerremoto,
|
|
EQNTipoChiamataCommentoTerremoto,
|
|
EQNTipoChiamataImpostazioniNotifiche,
|
|
EQNTipoChiamataOfferTimeRemaining,
|
|
EQNTipoChiamataRegisterSubscription,
|
|
EQNTipoChiamataAlertPushTest,
|
|
EQNTipoChiamataAlertSimulator
|
|
};
|
|
|
|
|
|
// chiavi rMax e rMin
|
|
#define rMax @"rMax"
|
|
#define rMin @"rMin"
|
|
|
|
// costante frequenza campionamento accelerometro
|
|
#define kUpdateInterval (1.0f / 100.0f)
|
|
|
|
// costante distanza posizione per avviare la segnalazone
|
|
#define DISTANZA_METRI_SEGNALAZIONE 8000
|
|
#define TEMPO_AGGIORNAMENTO_POSIZIONE 5400
|
|
|
|
//////////////////////////////////////// RILEVAMENTO ////////////////////////////////////////
|
|
// secondi durata rilevamento
|
|
#define SECONDI_RILIEVO 3
|
|
// Soglia deviazione standard se superata lo stato del rilievo è positivo altrimenti negativo
|
|
#define SOGLIA_DEVIAZIONE_RILIEVO 1.8
|
|
|
|
// stato rilievo
|
|
// il parametro viene inviato al server e_t1
|
|
typedef NS_ENUM(NSInteger, EQNRilevamentoSoglia) {
|
|
EQNRilevamentoSogliaNegativo = 0,
|
|
EQNRilevamentoSogliaPositivo
|
|
};
|
|
|
|
//////////////////////////////////////// CALIBRAZIONE ////////////////////////////////////////
|
|
// secondi durata calibrazione
|
|
#define SECONDI_CALIBRAZIONE 120
|
|
#define TEMPO_LATENZA_CALIBRAZIONE 120
|
|
#define TEMPO_RIPETIZIONE_CALIBRAZIONE 1800
|
|
|
|
// soglia valore che il valore massimo r non deve superare
|
|
#define SOGLIAMAX 0.2
|
|
// soglia valore che il valore minimo r non deve superare
|
|
#define SOGLIAMIN -0.2
|
|
// stato calibrazione
|
|
// il parametro viene inviato al server e_t
|
|
typedef enum : NSInteger {
|
|
calibrato = 0,
|
|
nonCalibrato
|
|
} EQNStatoCal;
|
|
|
|
// Sigla della rete sismica selezionata
|
|
#define IMPOSTAZIONE_NAZIONE_RETI_SISMICHE @"IMPOSTAIONE_NAZIONE_RETI_SISMICHE"
|
|
|
|
#endif /* Costanti_h */
|