| /*  | 
|  * Copyright Cypress Semiconductor Corporation, 2014-2015 All rights reserved.  | 
|  *  | 
|  * This software, associated documentation and materials ("Software") is  | 
|  * owned by Cypress Semiconductor Corporation ("Cypress") and is  | 
|  * protected by and subject to worldwide patent protection (UnitedStates and foreign), United States copyright laws and international  | 
|  * treaty provisions. Therefore, unless otherwise specified in a separate license agreement between you and Cypress, this Software  | 
|  * must be treated like any other copyrighted material. Reproduction,  | 
|  * modification, translation, compilation, or representation of this  | 
|  * Software in any other form (e.g., paper, magnetic, optical, silicon)  | 
|  * is prohibited without Cypress's express written permission.  | 
|  *  | 
|  * Disclaimer: THIS SOFTWARE IS PROVIDED AS-IS, WITH NO WARRANTY OF ANY  | 
|  * KIND, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,  | 
|  * NONINFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS  | 
|  * FOR A PARTICULAR PURPOSE. Cypress reserves the right to make changes  | 
|  * to the Software without notice. Cypress does not assume any liability  | 
|  * arising out of the application or use of Software or any product or  | 
|  * circuit described in the Software. Cypress does not authorize its  | 
|  * products for use as critical components in any products where a  | 
|  * malfunction or failure may reasonably be expected to result in  | 
|  * significant injury or death ("High Risk Product"). By including  | 
|  * Cypress's product in a High Risk Product, the manufacturer of such  | 
|  * system or application assumes all risk of such use and in doing so  | 
|  * indemnifies Cypress against all liability.  | 
|  *  | 
|  * Use of this Software may be limited by and subject to the applicable  | 
|  * Cypress software license agreement.  | 
|  *  | 
|  *  | 
|  */  | 
|   | 
| #ifndef CySmart_Constants_h  | 
| #define CySmart_Constants_h  | 
|   | 
|   | 
| #endif  | 
|   | 
| enum alertOptions  | 
| {  | 
|     kAlertNone,  | 
|     kMidAlert,  | 
|     kHighAlert  | 
| };  | 
|   | 
| #define APP_NAME    @"CySmart"  | 
|   | 
| //Constant for enabling disabling OTA : To disable change YES to NO and vice versa  | 
| #define ENABLE_OTA   [NSNumber numberWithBool:YES]  | 
|   | 
| //Constant for enabling disabling Glucose Service : To disable change YES to NO and vice versa  | 
| #define ENABLE_GLUCOSE   [NSNumber numberWithBool:NO]  | 
|   | 
| #define BLUE_COLOR [UIColor colorWithRed:12.0f/255.0f green:55.0f/255.0f blue:123.0f/255.0f alpha:1.0f]  | 
|   | 
| #define BLE_PRODUCTS_URL        @"http://www.cypress.com/ble"  | 
| #define CONTACT_URL             @"http://www.cypress.com/contactus/"  | 
| #define CYPRESS_HOME_URL        @"http://www.cypress.com/"  | 
| #define CYPRESS_MOBILE_URL      @"http://www.cypress.com/cysmartmobile"  | 
|   | 
|   | 
| #define DEVICE_CONNECTION_TIMEOUT   10.0  | 
|   | 
|   | 
| #define ABOUT_VIEW_NIB_NAME           @"AboutView"  | 
| #define BUNDLE_VERSION_KEY            @"CFBundleShortVersionString"  | 
|   | 
| #define KEYBOARD_HEIGHT     305.0f  | 
| #define STATUS_BAR_HEIGHT   20.0f  | 
| #define NAV_BAR_HEIGHT      44.0f  | 
| #define SEARCH_BAR_TAG      101  | 
|   | 
| #define DEFAULT_SIZE_NORMALISATION_CONSTANT_FOR_IPAD     80.0f  | 
|   | 
| #define RSC_SERVICE_UUID            [CBUUID UUIDWithString:@"1814"]  | 
| #define RSC_CHARACTERISTIC_UUID     [CBUUID UUIDWithString:@"2A53"]  | 
|   | 
|   | 
| #define POLARH7_HRM_DEVICE_INFO_SERVICE_UUID @"180A"       // 180A = Device Information  | 
|   | 
|   | 
| #define HRM_HEART_RATE_SERVICE_UUID               [CBUUID UUIDWithString:@"180D"]  | 
| #define HRM_NOTIFICATIONS_CHARACTERISTIC_UUID     [CBUUID UUIDWithString:@"2A37"]  | 
| #define HRM_BODY_LOCATION_CHARACTERISTIC_UUID     [CBUUID UUIDWithString:@"2A38"]  | 
|   | 
| #define CSC_SERVICE_UUID            [CBUUID UUIDWithString:@"1816"]  | 
| #define CSC_CHARACTERISTIC_UUID     [CBUUID UUIDWithString:@"2A5B"]  | 
|   | 
| #define BP_SERVICE_UUID                       [CBUUID UUIDWithString:@"1810"]  | 
| #define BP_MEASUREMENT_CHARACTERISTIC_UUID    [CBUUID UUIDWithString:@"2A35"]  | 
|   | 
|   | 
| #define GLUCOSE_SERVICE_UUID                        [CBUUID UUIDWithString:@"1808"]  | 
| #define GLUCOSE_MEASUREMENT_CHARACTERISTIC_UUID     [CBUUID UUIDWithString:@"2A18"]  | 
|   | 
|   | 
| #define THM_SERVICE_UUID                                      [CBUUID UUIDWithString:@"1809"]  | 
| #define THM_TEMPERATURE_MEASUREMENT_CHARACTERISTIC_UUID       [CBUUID UUIDWithString:@"2A1C"]  | 
| #define THM_TEMPERATURE_TYPE_CHARACTERISTIC_UUID              [CBUUID UUIDWithString:@"2A1D"]  | 
|   | 
| #define DEVICE_INFO_SERVICE_UUID                              [CBUUID UUIDWithString:@"180A"]  | 
| #define DEVICE_MANUFACTURER_NAME_CHARACTERISTIC_UUID          [CBUUID UUIDWithString:@"2A29"]  | 
| #define DEVICE_MODEL_NUMBER_CHARACTERISTIC_UUID               [CBUUID UUIDWithString:@"2A24"]  | 
| #define DEVICE_SERIAL_NUMBER_CHARACTERISTIC_UUID              [CBUUID UUIDWithString:@"2A25"]  | 
| #define DEVICE_HARDWARE_REVISION_CHARACTERISTIC_UUID          [CBUUID UUIDWithString:@"2A27"]  | 
| #define DEVICE_FIRMWARE_REVISION_CHARACTERISTIC_UUID          [CBUUID UUIDWithString:@"2A26"]  | 
| #define DEVICE_SOFTWARE_REVISION_CHARACTERISTIC_UUID          [CBUUID UUIDWithString:@"2A28"]  | 
| #define DEVICE_SYSTEMID_CHARACTERISTIC_UUID                   [CBUUID UUIDWithString:@"2A23"]  | 
| #define DEVICE_CERTIFICATION_DATALIST_CHARACTERISTIC_UUID     [CBUUID UUIDWithString:@"2A2A"]  | 
| #define DEVICE_PNPID_CHARACTERISTIC_UUID                      [CBUUID UUIDWithString:@"2A50"]  | 
|   | 
|   | 
| #define BATTERY_LEVEL_SERVICE_UUID         [CBUUID UUIDWithString:@"180F"]  | 
| #define BATTERY_LEVEL_CHARACTERISTIC_UUID  [CBUUID UUIDWithString:@"2A19"]    | 
|   | 
|   | 
| #define CAPSENSE_SERVICE_UUID                        [CBUUID UUIDWithString:@"CAB5"]  | 
| #define CAPSENSE_PROXIMITY_CHARACTERISTIC_UUID       [CBUUID UUIDWithString:@"CAA1"]  | 
| #define CAPSENSE_SLIDER_CHARACTERISTIC_UUID          [CBUUID UUIDWithString:@"CAA2"]  | 
| #define CAPSENSE_BUTTON_CHARACTERISTIC_UUID          [CBUUID UUIDWithString:@"CAA3"]  | 
|   | 
| #define CUSTOM_CAPSENSE_SERVICE_UUID                             [CBUUID UUIDWithString:@"0003cab5-0000-1000-8000-00805f9b0131"]  | 
| #define CUSTOM_CAPSENSE_PROXIMITY_CHARACTERISTIC_UUID            [CBUUID UUIDWithString:@"0003caa1-0000-1000-8000-00805f9b0131"]  | 
| #define CUSTOM_CAPSENSE_SLIDER_CHARACTERISTIC_UUID               [CBUUID UUIDWithString:@"0003caa2-0000-1000-8000-00805f9b0131"]  | 
| #define CUSTOM_CAPSENSE_BUTTONS_CHARACTERISTIC_UUID              [CBUUID UUIDWithString:@"0003caa3-0000-1000-8000-00805f9b0131"]  | 
|   | 
|   | 
|   | 
| #define RGB_SERVICE_UUID            [CBUUID UUIDWithString:@"CBBB"]  | 
| #define RGB_CHARACTERISTIC_UUID     [CBUUID UUIDWithString:@"CBB1"]  | 
|   | 
| #define CUSTOM_RGB_SERVICE_UUID               [CBUUID UUIDWithString:@"0003cbbb-0000-1000-8000-00805f9b0131"]  | 
| #define CUSTOM_RGB_CHARACTERISTIC_UUID        [CBUUID UUIDWithString:@"0003cbb1-0000-1000-8000-00805f9b0131"]  | 
|   | 
|   | 
|   | 
|   | 
| #define TRANSMISSION_POWER_SERVICE              [CBUUID UUIDWithString:@"1804"]  | 
| #define TRANSMISSION_POWER_LEVEL_UUID           [CBUUID UUIDWithString:@"2A07"]  | 
| #define LINK_LOSS_SERVICE_UUID                  [CBUUID UUIDWithString:@"1803"]  | 
| #define IMMEDIATE_ALERT_SERVICE_UUID            [CBUUID UUIDWithString:@"1802"]  | 
| #define ALERT_CHARACTERISTIC_UUID               [CBUUID UUIDWithString:@"2A06"]  | 
|   | 
|   | 
| #define DESCRIPTOR_CHARACTERISTIC_EXTENDED_PROPERTY_UUID       [CBUUID UUIDWithString:@"2900"]  | 
| #define DESCRIPTOR_CHARACTERISTIC_USER_DESCRIPTION_UUID        [CBUUID UUIDWithString:@"2901"]  | 
| #define DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIG_UUID           [CBUUID UUIDWithString:@"2902"]  | 
| #define DESCRIPTOR_SERVER_CHARACTERISTIC_CONFIG_UUID           [CBUUID UUIDWithString:@"2903"]  | 
| #define DESCRIPTOR_CHARACTERISTIC_PRESENTATION_FORMAT_UUID     [CBUUID UUIDWithString:@"2904"]  | 
| #define DESCRIPTOR_CHARACTERISTIC_AGGREGATE_FORMAT_UUID        [CBUUID UUIDWithString:@"2905"]  | 
| #define DESCRIPTOR_VALID_RANGE_UUID                            [CBUUID UUIDWithString:@"2906"]  | 
| #define DESCRIPTOR_EXTERNAL_REPORT_REFERENCE_UUID              [CBUUID UUIDWithString:@"2907"]  | 
| #define DESCRIPTOR_REPORT_REFERENCE_UUID                       [CBUUID UUIDWithString:@"2908"]  | 
| #define DESCRIPTOR_ENVIRONMENTAL_SENSING_CONFIG_UUID           [CBUUID UUIDWithString:@"290B"]  | 
| #define DESCRIPTOR_ENVIRONMENTAL_SENSING_MEASUREMENT_UUID      [CBUUID UUIDWithString:@"290C"]  | 
| #define DESCRIPTOR_ENVIRONMENTAL_SENSING_TRIGGER_SETTING_UUID  [CBUUID UUIDWithString:@"290D"]  | 
|   | 
|   | 
|   | 
| #define BAROMETER_SERVICE_UUID                                     [CBUUID UUIDWithString:@"00040001-0000-1000-8000-00805f9b0131"]  | 
| #define BAROMETER_DIGITAL_SENSOR_CHARACTERISTIC_UUID               [CBUUID UUIDWithString:@"00040002-0000-1000-8000-00805f9b0131"]  | 
| #define BAROMETER_SENSOR_SCAN_INTERVAL_CHARACTERISTIC_UUID         [CBUUID UUIDWithString:@"00040004-0000-1000-8000-00805f9b0131"]  | 
| #define BAROMETER_DATA_ACCUMULATION_CHARACTERISTIC_UUID            [CBUUID UUIDWithString:@"00040007-0000-1000-8000-00805f9b0131"]  | 
| #define BAROMETER_READING_CHARACTERISTIC_UUID                      [CBUUID UUIDWithString:@"00040009-0000-1000-8000-00805f9b0131"]  | 
| #define BAROMETER_THRESHOLD_FOR_INDICATION_CHARACTERISTIC_UUID     [CBUUID UUIDWithString:@"0004000d-0000-1000-8000-00805f9b0131"]  | 
|   | 
|   | 
| #define ACCELEROMETER_SERVICE_UUID                             [CBUUID UUIDWithString:@"00040020-0000-1000-8000-00805f9b0131"]  | 
| #define ACCELEROMETER_ANALOG_SENSOR_CHARACTERISTIC_UUID        [CBUUID UUIDWithString:@"00040021-0000-1000-8000-00805f9b0131"]  | 
| #define ACCELEROMETER_SENSOR_SCAN_INTERVAL_CHARACTERISTIC_UUID [CBUUID UUIDWithString:@"00040023-0000-1000-8000-00805f9b0131"]  | 
| #define ACCELEROMETER_DATA_ACCUMULATION_CHARACTERISTIC_UUID    [CBUUID UUIDWithString:@"00040026-0000-1000-8000-00805f9b0131"]  | 
| #define ACCELEROMETER_READING_X_CHARACTERISTIC_UUID            [CBUUID UUIDWithString:@"00040028-0000-1000-8000-00805f9b0131"]  | 
| #define ACCELEROMETER_READING_Y_CHARACTERISTIC_UUID            [CBUUID UUIDWithString:@"0004002b-0000-1000-8000-00805f9b0131"]  | 
| #define ACCELEROMETER_READING_Z_CHARACTERISTIC_UUID            [CBUUID UUIDWithString:@"0004002d-0000-1000-8000-00805f9b0131"]  | 
|   | 
|   | 
|   | 
| #define ANALOG_TEMPERATURE_SERVICE_UUID                          [CBUUID UUIDWithString:@"00040030-0000-1000-8000-00805f9b0131"]  | 
| #define TEMPERATURE_ANALOG_SENSOR_CHARACTERISTIC_UUID            [CBUUID UUIDWithString:@"00040031-0000-1000-8000-00805f9b0131"]  | 
| #define TEMPERATURE_SENSOR_SCAN_INTERVAL_CHARACTERISTIC_UUID     [CBUUID UUIDWithString:@"00040032-0000-1000-8000-00805f9b0131"]  | 
| #define TEMPERATURE_READING_CHARACTERISTIC_UUID                  [CBUUID UUIDWithString:@"00040033-0000-1000-8000-00805f9b0131"]  | 
|   | 
| #define WARNING @"Warning!"  | 
| #define UNKNOWN_ERROR @"An Unknown error occurred."  | 
|   | 
|   | 
| #define CUSTOM_BOOT_LOADER_SERVICE_UUID          [CBUUID UUIDWithString:@"00060000-F8CE-11E4-ABF4-0002A5D5C51B"]  | 
| #define BOOT_LOADER_CHARACTERISTIC_UUID          [CBUUID UUIDWithString:@"00060001-F8CE-11E4-ABF4-0002A5D5C51B"]  | 
|   | 
| #define COMMAND_START_BYTE    0x01  | 
| #define COMMAND_END_BYTE      0x17  | 
| //Bootloader command codes  | 
|   | 
| #define VERIFY_CHECKSUM       0x31  | 
| #define GET_FLASH_SIZE        0x32  | 
| #define SEND_DATA             0x37  | 
| #define ENTER_BOOTLOADER      0x38  | 
| #define PROGRAM_ROW           0x39  | 
| #define VERIFY_ROW            0x3A  | 
| #define EXIT_BOOTLOADER       0x3B  | 
|   | 
|   | 
| // Bootloader status/Error codes  | 
|   | 
| #define SUCCESS               @"0x00"  | 
| #define ERROR_FILE            @"0x01"  | 
| #define ERROR_EOF             @"0x02"  | 
| #define ERROR_LENGTH          @"0x03"  | 
| #define ERROR_DATA            @"0x04"  | 
| #define ERROR_COMMAND         @"0x05"  | 
| #define ERROR_DEVICE          @"0x06"  | 
| #define ERROR_VERSION         @"0x07"  | 
| #define ERROR_CHECKSUM        @"0x08"  | 
| #define ERROR_ARRAY           @"0x09"  | 
| #define ERROR_ROW             @"0x0A"  | 
| #define ERROR_BOOTLOADER      @"0x0B"  | 
| #define ERROR_APPLICATION     @"0x0C"  | 
| #define ERROR_ACTIVE          @"0x0D"  | 
| #define ERROR_UNKNOWN         @"0x0F"  | 
| #define ERROR_ABORT           @"0xFF"  | 
|   | 
|   | 
|   | 
|   | 
| #define FLASH_ARRAY_ID   @"flashArrayID"  | 
| #define FLASH_ROW_NUMBER  @"flashRowNumber"  | 
|   | 
| #define CHECK_SUM   @"chec.3kSum"  | 
| #define CRC_16      @"crc_16"  | 
| #define ROW_DATA    @"rowData"  | 
|   | 
|   | 
| #define BLOOD_PRESSURE_UNIT_mmHg    @"mmHg"  | 
| #define BLOOD_PRESSURE_UNIT_kPa     @"kPa"  | 
|   | 
| /*Carousel View Strings*/  | 
| #pragma mark - Carousel View  | 
|   | 
| #define SERVICES @"Services"  | 
| #define GENERIC_ACCESS_SERVICE_UUID  @"00001800-0000-1000-8000-00805f9b34fb"  | 
|   | 
| #define k_SERVICE_IMAGE_NAME_KEY    @"Service_Image"  | 
| #define k_SERVICE_NAME_KEY          @"Service_Name"  | 
|   | 
| #define DEFAULT_FONT_BOLD               @"Roboto-Bold"  | 
|   | 
| #define HRM_VIEW_SB_ID                  @"HRMId"  | 
| #define RSC_VIEW_SB_ID                  @"RSCID"  | 
| #define CSC_VIEW_SB_ID                  @"CSCId"  | 
| #define DEVICE_INFO_VIEW_SB_ID          @"DeviceInfoID"  | 
| #define GLUCOSE_VIEW_SB_ID              @"glucoseVCID"  | 
| #define BP_VIEW_SB_ID                   @"BloodPressureID"  | 
| #define CAPSENSE_VIEW_SB_ID             @"CapsenseRootID"  | 
| #define CAPSENSE_BTN_VIEW_SB_ID         @"CapsenseButtonID"  | 
| #define PROXIMITY_VIEW_SB_ID            @"proximityVCId"  | 
| #define CAPSENSE_SLIDER_VIEW_SB_ID      @"sliderVCId"  | 
| #define RGB_VIEW_SB_ID                  @"RGBViewID"  | 
| #define HEALTH_THERMO_VIEW_SB_ID        @"HealthThermometerID"  | 
| #define BATTERY_VIEW_SB_ID              @"BatteryServiceID"  | 
| #define FIND_ME_VIEW_SB_ID              @"findMeID"  | 
| #define SENSOR_HUB_VIEW_SB_ID           @"sensorHubID"  | 
| #define GATTDB_VIEW_SB_ID               @"ServicesID"  | 
| #define FILE_SEL_VIEW_SB_ID             @"FileSelectionID"  | 
|   | 
| /*Navigation Bar Titles*/  | 
| #pragma mark - Navigation Bar Titles  | 
|   | 
| // Device information strings  | 
|   | 
| #define MANUFACTURER_NAME                       @"Manufacturer Name"  | 
| #define MODEL_NUMBER                            @"Model Number"  | 
| #define SERIAL_NUMBER                           @"Serial Number"  | 
| #define HARDWARE_REVISION                       @"Hardware Revision"  | 
| #define FIRMWARE_REVISION                       @"Firmware Revision"  | 
| #define SOFTWARE_REVISION                       @"Software Revision"  | 
| #define SYSTEM_ID                               @"System ID"  | 
| #define REGULATORY_CERTIFICATION_DATA_LIST      @"Regulatory Certification Data List"  | 
| #define PNP_ID                                  @"PnP ID"  | 
|   | 
|   | 
| #define BLE_DEVICE            @"BLE Devices"  | 
| #define UNKNOWN_PERIPHERAL    @"Unknown Peripheral"  | 
| #define BACK_BUTTON_IMAGE  @"backButton"  | 
|   | 
|   | 
| /* characteristic properties*/  | 
|   | 
| #define READ @"Read"  | 
| #define WRITE @"Write"  | 
| #define NOTIFY @"Notify"  | 
| #define INDICATE @"Indicate"  | 
|   | 
| /* firmware upgrade */  | 
|   | 
| #define FIRMWARE_DISCONNECTION_ERROR        @"You have application upgrade pending."  | 
|   | 
|   | 
|   | 
| /* log strings */  | 
|   | 
| #define CONNECTION_REQUEST          @"Connection request sent"  | 
| #define CONNECTION_ESTABLISH        @"Connection established"  | 
| #define PAIRING_REQUEST             @"Pairing request sent"  | 
| #define PAIRING_RQUEST_RECEIVED     @"Pairing request received"  | 
| #define PAIRED                      @"Paired"  | 
| #define UNPAIRED                    @"Unpaired"  | 
| #define SERVICE_DISCOVERY_REQUEST   @"Service discovery request sent"  | 
| #define SERVICE_DISCOVERY_STATUS    @"Service discovery status "  | 
| #define DISCONNECTION_REQUEST       @"Disconnection request sent"  | 
| #define DISCONNECTED                @"Disconnected"  | 
|   | 
| #define SERVICE_DISCOVERED          @"Success"  | 
| #define SERVICE_DISCOVERY_ERROR     @"Service discovery request failed with error : "  | 
|   | 
| // BLE operations  | 
|   | 
| #define WRITE_REQUEST               @"Write request sent with value "  | 
| #define WRITE_REQUEST_STATUS        @"Write request status "  | 
| #define WRITE_SUCCESS               @"Success"  | 
| #define WRITE_ERROR                 @"Failed with error : "  | 
|   | 
| #define START_NOTIFY                @"Start notification request sent"  | 
| #define STOP_NOTIFY                 @"Stop notification request sent"  | 
| #define NOTIFY_RESPONSE             @"Notification received with value "  | 
|   | 
| #define READ_REQUEST                @"Read request sent"  | 
| #define READ_RESPONSE               @"Read response received with value "  | 
| #define READ_ERROR                  @"Failed with error : "  | 
|   | 
|   | 
| #define START_INDICATE              @"Start indicate request sent"  | 
| #define STOP_INDICATE               @"Stop indicate request sent"  | 
| #define INDICATE_RESPONSE           @"Indicate response received with value "  | 
|   | 
|   | 
|   | 
|   | 
|   | 
| #define DATA_SEPERATOR      @"##"  | 
|   | 
| /* Date formats */  | 
|   | 
| #define DATE_FORMAT     @"dd-MMM-yyyy"  | 
| #define TIME_FORMAT     @"HH:mm:ss"  | 
|   | 
| //Device Detection Macros  | 
| #pragma mark - Device detection macros  | 
|   | 
| #define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)  | 
| #define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)  | 
| #define IS_RETINA ([[UIScreen mainScreen] scale] >= 2.0)  | 
|   | 
| #define SCREEN_WIDTH ([[UIScreen mainScreen] bounds].size.width)  | 
| #define SCREEN_HEIGHT ([[UIScreen mainScreen] bounds].size.height)  | 
| #define SCREEN_MAX_LENGTH (MAX(SCREEN_WIDTH, SCREEN_HEIGHT))  | 
| #define SCREEN_MIN_LENGTH (MIN(SCREEN_WIDTH, SCREEN_HEIGHT))  | 
|   | 
| #define IS_IPHONE_4_OR_LESS (IS_IPHONE && SCREEN_MAX_LENGTH < 568.0)  | 
| #define IS_IPHONE_5 (IS_IPHONE && SCREEN_MAX_LENGTH == 568.0)  | 
| #define IS_IPHONE_6 (IS_IPHONE && SCREEN_MAX_LENGTH == 667.0)  | 
| #define IS_IPHONE_6P (IS_IPHONE && SCREEN_MAX_LENGTH == 736.0)  | 
|   | 
|   | 
| //OTA Upgrade  | 
| #pragma mark - OTA Upgrade  | 
|   | 
| #define OTA_UPGRADE_STATUS                  @"UpgradeStatus"  | 
|   | 
| #define OTA_UPGRADE_CANCELLED_MSG           @"Firmware upgrade cancelled."  | 
| #define OTA_FILES_SELECTED_MSG              @"Firmware File(s) Selected."  | 
| #define OTA_UPGRADE_IN_PROGRESS_MSG         @"Firmware upgrade in progress."  | 
| #define OTA_UPGRADE_COMPLETED_MSG           @"Firmware upgrade completed successfully."  | 
| #define OTA_APP_UPGRADE_PENDING_MSG         @"Stack upgrade completed successfully. Application upgrade pending."  | 
| #define OTA_ROW_NO_OUT_OF_BOUND_MSG         @"Error: The row number exceeds the bounds"  | 
| #define OTA_INVALID_APPLICATION_FILE_MSG    @"Error: The application is invalid"  | 
| #define OTA_CHECKSUM_MISMATCH_MSG           @"Error: The checksum do not match"  | 
| #define OTA_WRITING_FAILED_MSG              @"Error: Failed writing data row"  | 
| #define OTA_SEND_DATA_COMMAND_FAILED        @"Error: Failed writing data with SEND_DATA command"  | 
| #define OTA_SILICON_ID_MISMATCH_MSG         @"Error: The SiliconID or SiliconRev does not match"  | 
| #define OTA_UPGRADE_CANCEL_CONFIRM_MSG      @"Do you want to cancel the OTA update?"  | 
| #define OTA_UPGRADE_RESUME_CONFIRM_MSG      @"Do you want to resume the OTA update?"  | 
| #define OTA_APP_UPGRADE_PENDING_WARNIG      @"Warning! Application upgrade pending."  |