Changeset 8a0f920f in orbit


Ignore:
Timestamp:
08/19/13 12:44:51 (6 years ago)
Author:
Jonathon Horsman <jonathon@…>
Branches:
master, Servo, Tab_Interface, pyramid
Children:
1472980, 548a60f
Parents:
6d0d67b
Message:

Set thresholds when first loaded

Location:
iOS/Orbit
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • iOS/Orbit/Orbit/SignalConverter.m

    r7945ecb r8a0f920f  
    185185     */ 
    186186 
    187     NSLog(@"Output: %@ is %@", output, kAudioSessionOutputRoute_Headphones); 
    188187    return CFStringCompare(output, kAudioSessionOutputRoute_Headphones, 0) == kCFCompareEqualTo; 
    189188} 
  • iOS/Orbit/Orbit/controllers/FlightViewController.h

    rde10cbc r8a0f920f  
    1515} 
    1616 
    17 @property (nonatomic, retain) IBOutlet UILabel *status; 
    1817@property (nonatomic, retain) IBOutlet UIProgressView *attention; 
    1918@property (nonatomic, retain) IBOutlet UILabel *attentionPercent; 
  • iOS/Orbit/Orbit/controllers/FlightViewController.m

    r359a504 r8a0f920f  
    2323@implementation FlightViewController { 
    2424    SignalConverter *signalConverter; 
    25     int deviceStatus;     
     25    int deviceStatus; 
     26    BOOL warned; 
    2627} 
    2728 
    28 @synthesize status, attention, meditation, signal, power, attentionThreshold, meditationThreshold, connectButton, testButton, statusImage, signalPercent, attentionPercent, meditationPercent, powerPercent; 
     29@synthesize attention, meditation, signal, power, attentionThreshold, meditationThreshold, connectButton, testButton, statusImage, signalPercent, attentionPercent, meditationPercent, powerPercent; 
    2930 
    3031- (void)viewDidLoad 
     
    3536     
    3637    signalConverter.delegate = self; 
    37     [self.attentionThreshold addTarget:self action:@selector(sliderChanged) forControlEvents:UIControlEventValueChanged]; 
    38     [self.meditationThreshold addTarget:self action:@selector(sliderChanged) forControlEvents:UIControlEventValueChanged]; 
     38    [self setThresholds]; 
     39    [self.attentionThreshold addTarget:self action:@selector(setThresholds) forControlEvents:UIControlEventValueChanged]; 
     40    [self.meditationThreshold addTarget:self action:@selector(setThresholds) forControlEvents:UIControlEventValueChanged]; 
    3941} 
    4042 
     
    5254    power.progress = 0; 
    5355    powerPercent.text = @"0%"; 
    54     [self logMessage:@"Disconnected"]; 
    5556    [self updateStatusImage:STATUS_DEFAULT]; 
    5657    connectButton.title = @"Connect"; 
     
    6263        [statusImage setImage: [UIImage imageNamed:[NSString stringWithFormat:@"status_%u", statusNo]]]; 
    6364        deviceStatus = statusNo; 
    64         if (statusNo == STATUS_CONNECTED) { 
    65             [self logMessage:@"Check headset fitted properly"]; 
    66         } else if (statusNo == STATUS_PROCESSING) { 
    67             [self logMessage:@"Increase your concentration"]; 
    68         } else if (statusNo == STATUS_ACTIVE) { 
    69             [self logMessage:@"Flying!"]; 
    70         } 
    7165    } 
    7266} 
    7367 
    74 - (void) sliderChanged 
     68- (void) setThresholds 
    7569{ 
    7670    [signalConverter setValuesForAttention:attentionThreshold.value meditation:meditationThreshold.value]; 
    77 } 
    78  
    79 - (void) logMessage:(NSString *) str 
    80 { 
    81     status.text = str; 
    8271} 
    8372 
     
    113102- (void) notifyHeadsetConnect 
    114103{ 
    115     [self logMessage:@"Headset connected"]; 
    116104    [self updateStatusImage:STATUS_CONNECTING]; 
    117105} 
     
    125113- (void) notifyDeviceConnected:(NSString *)name 
    126114{ 
    127     [self logMessage:[NSString stringWithFormat:@"EEG device %@ connected", name]]; 
    128115    [self updateStatusImage:STATUS_CONNECTING]; 
    129116    connectButton.title = @"Disconnect"; 
     
    146133        BOOL headphones = [signalConverter isAudioJackPlugged]; 
    147134         
    148         if (!volumeMax && !headphones) { 
     135        if (!warned && !volumeMax && !headphones) { 
    149136            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Check Volume & Transmitter" message:@"Ensure the volume is at max and the transmitter is plugged into the headphones" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil]; 
    150137            [alert show]; 
    151         } else if (!volumeMax) { 
     138        } else if (!warned && !volumeMax) { 
    152139            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Turn Up The Volume" message:@"Your device volume must be at the maximum for proper operation" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil]; 
    153140            [alert show]; 
    154         } else if (!headphones) { 
     141        } else if (!warned && !headphones) { 
    155142            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Plug In The Transmitter" message:@"Ensure the infrared transmitter is plugged into the headphone jack" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil]; 
    156143            [alert show]; 
     
    159146            [alert show]; 
    160147        } else if ([signalConverter startProcessing]) { 
    161             [self logMessage:@"Searching for device"]; 
    162148            connectButton.title = @"Disconnect"; 
    163149        } else { 
     
    165151            [alert show]; 
    166152        } 
     153        warned = YES; 
    167154    } 
    168155} 
  • iOS/Orbit/Orbit/en.lproj/MainStoryboard.storyboard

    r28bce14 r8a0f920f  
    11<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
    2 <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="2.0" toolsVersion="3084" systemVersion="11G63b" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" initialViewController="T1J-Fd-fkz"> 
     2<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="2.0" toolsVersion="3084" systemVersion="11G63" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" initialViewController="T1J-Fd-fkz"> 
    33    <dependencies> 
    44        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="2083"/> 
     
    243243                            </navigationBar> 
    244244                            <view contentMode="scaleToFill" id="vgz-EV-JZc" userLabel="Attention Background"> 
    245                                 <rect key="frame" x="6" y="47" width="309" height="55"/> 
     245                                <rect key="frame" x="6" y="47" width="309" height="62"/> 
    246246                                <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/> 
    247247                                <subviews> 
     
    254254                                    </label> 
    255255                                    <slider opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" value="0.69999999999999996" minValue="0.0" maxValue="1" id="ym8-zN-dSb" userLabel="Attention Threshold"> 
    256                                         <rect key="frame" x="4" y="33" width="254" height="23"/> 
     256                                        <rect key="frame" x="4" y="34" width="254" height="23"/> 
    257257                                        <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/> 
    258258                                    </slider> 
     
    278278                            </view> 
    279279                            <view contentMode="scaleToFill" id="6bR-ua-0jV" userLabel="Meditation Background"> 
    280                                 <rect key="frame" x="6" y="108" width="309" height="57"/> 
     280                                <rect key="frame" x="6" y="117" width="309" height="63"/> 
    281281                                <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/> 
    282282                                <subviews> 
     
    299299                                    </label> 
    300300                                    <slider opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" value="0.69999999999999996" minValue="0.0" maxValue="1" id="LJj-vt-JUw" userLabel="Meditation Threshold"> 
    301                                         <rect key="frame" x="6" y="35" width="254" height="23"/> 
     301                                        <rect key="frame" x="6" y="36" width="254" height="23"/> 
    302302                                    </slider> 
    303303                                </subviews> 
     
    310310                            </view> 
    311311                            <view contentMode="scaleToFill" id="DEF-SC-IYQ" userLabel="Meditation Background"> 
    312                                 <rect key="frame" x="6" y="171" width="309" height="64"/> 
     312                                <rect key="frame" x="6" y="189" width="309" height="72"/> 
    313313                                <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/> 
    314314                                <subviews> 
    315315                                    <progressView opaque="NO" contentMode="scaleToFill" id="AuD-cU-2pt" userLabel="Signal"> 
    316                                         <rect key="frame" x="4" y="20" width="254" height="9"/> 
     316                                        <rect key="frame" x="4" y="23" width="254" height="9"/> 
    317317                                        <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/> 
    318318                                        <color key="progressTintColor" red="0.0" green="1" blue="0.017424847109999999" alpha="1" colorSpace="calibratedRGB"/> 
    319319                                    </progressView> 
    320320                                    <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Signal" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="JXh-II-yAS"> 
    321                                         <rect key="frame" x="6" y="1" width="48" height="17"/> 
     321                                        <rect key="frame" x="6" y="3" width="48" height="17"/> 
    322322                                        <autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/> 
    323323                                        <fontDescription key="fontDescription" type="system" pointSize="14"/> 
     
    326326                                    </label> 
    327327                                    <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Hover" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="oUh-1C-0bs"> 
    328                                         <rect key="frame" x="6" y="26" width="46" height="21"/> 
     328                                        <rect key="frame" x="6" y="31" width="46" height="21"/> 
    329329                                        <autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/> 
    330330                                        <fontDescription key="fontDescription" type="system" pointSize="14"/> 
     
    333333                                    </label> 
    334334                                    <progressView opaque="NO" contentMode="scaleToFill" id="KeR-cO-90u" userLabel="Power"> 
    335                                         <rect key="frame" x="4" y="49" width="254" height="9"/> 
     335                                        <rect key="frame" x="4" y="54" width="254" height="9"/> 
    336336                                        <autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/> 
    337337                                        <color key="progressTintColor" red="1" green="0.84573597209999996" blue="0.0" alpha="1" colorSpace="calibratedRGB"/> 
    338338                                    </progressView> 
    339339                                    <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="0%" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="yYn-76-IoI"> 
    340                                         <rect key="frame" x="263" y="16" width="46" height="17"/> 
     340                                        <rect key="frame" x="263" y="19" width="46" height="17"/> 
    341341                                        <autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/> 
    342342                                        <fontDescription key="fontDescription" type="system" pointSize="14"/> 
     
    345345                                    </label> 
    346346                                    <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="0%" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="ah9-c0-kCb"> 
    347                                         <rect key="frame" x="263" y="41" width="46" height="23"/> 
     347                                        <rect key="frame" x="263" y="46" width="46" height="23"/> 
    348348                                        <autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/> 
    349349                                        <fontDescription key="fontDescription" type="system" pointSize="14"/> 
     
    363363                            </view> 
    364364                            <view contentMode="scaleToFill" id="lfi-AW-BAx"> 
    365                                 <rect key="frame" x="7" y="243" width="308" height="163"/> 
    366                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/> 
    367                                 <subviews> 
    368                                     <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Disconnected" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="BOS-Js-1rx" userLabel="Status"> 
    369                                         <rect key="frame" x="20" y="126" width="268" height="32"/> 
    370                                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> 
    371                                         <color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/> 
    372                                         <fontDescription key="fontDescription" type="system" pointSize="16"/> 
    373                                         <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/> 
    374                                         <nil key="highlightedColor"/> 
    375                                         <userDefinedRuntimeAttributes> 
    376                                             <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> 
    377                                                 <real key="value" value="5"/> 
    378                                             </userDefinedRuntimeAttribute> 
    379                                         </userDefinedRuntimeAttributes> 
    380                                     </label> 
     365                                <rect key="frame" x="7" y="269" width="308" height="137"/> 
     366                                <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/> 
     367                                <subviews> 
    381368                                    <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleAspectFit" image="status_0.png" id="aa9-oz-0Qj"> 
    382                                         <rect key="frame" x="66" y="0.0" width="177" height="126"/> 
     369                                        <rect key="frame" x="66" y="6" width="177" height="126"/> 
    383370                                        <autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/> 
    384371                                    </imageView> 
     
    408395                        <outlet property="signal" destination="AuD-cU-2pt" id="uuu-hc-E2e"/> 
    409396                        <outlet property="signalPercent" destination="yYn-76-IoI" id="4Ei-JM-jZ1"/> 
    410                         <outlet property="status" destination="BOS-Js-1rx" id="fDM-Of-lza"/> 
    411397                        <outlet property="statusImage" destination="aa9-oz-0Qj" id="ilQ-PQ-gI8"/> 
    412398                        <outlet property="testButton" destination="Geo-cL-sK5" id="P8n-GW-Eih"/> 
Note: See TracChangeset for help on using the changeset viewer.