Changeset 490c673 in orbit


Ignore:
Timestamp:
12/11/13 14:43:06 (6 years ago)
Author:
Steve Castellotti <sc@…>
Branches:
master, Servo
Children:
d5fbc16
Parents:
a474ef7
Message:

orbit emotiv:

  • "eegDevice" variable added for distinction between EEG hardware
  • initial layout and class for Emotiv support
Location:
android
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • android/res/values/strings.xml

    rf3d6504 r490c673  
    1818    <string name="label_attention">Attention</string> 
    1919    <string name="label_meditation">Meditation</string> 
     20    <string name="label_cognitiv">Cognitiv</string> 
    2021    <string name="label_signal">Signal</string> 
    2122    <string name="label_power">Power</string> 
  • android/src/info/puzzlebox/orbit/OrbitTabActivity.java

    ra474ef7 r490c673  
    6969        int minAPIVersion = 11; 
    7070        String versionName; 
     71 
     72        //      String eegDevice = "ThinkGear"; 
     73        String eegDevice = "Emotiv"; 
     74 
    7175        int eegAttention = 0; 
    7276        int eegMeditation = 0; 
     
    241245                setContentView(R.layout.fragment_tabs_pager); 
    242246 
    243  
    244                 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
    245  
     247                if (eegDevice == "ThinkGear") { 
     248                        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
     249                } 
    246250 
    247251                // Tabs 
     
    256260                                FragmentTabWelcome.class, null); 
    257261 
    258                 mTabsAdapter.addTab(mTabHost.newTabSpec("Orbit").setIndicator(tabFlightLabel), 
    259                                 FragmentTabFlight.class, null); 
     262                if (eegDevice == "ThinkGear") { 
     263                        mTabsAdapter.addTab(mTabHost.newTabSpec("Orbit").setIndicator(tabFlightLabel), 
     264                                        FragmentTabFlight.class, null); 
     265                } 
     266                else if (eegDevice == "Emotiv") { 
     267                        mTabsAdapter.addTab(mTabHost.newTabSpec("Orbit").setIndicator(tabFlightLabel), 
     268                                        FragmentTabFlightEmotiv.class, null); 
     269                } 
    260270 
    261271                mTabsAdapter.addTab(mTabHost.newTabSpec("Orbit").setIndicator(tabAdvancedLabel), 
     
    325335                } else { 
    326336                        /** create the TGDevice */ 
    327                         tgDevice = new TGDevice(bluetoothAdapter, handler); 
     337                        tgDevice = new TGDevice(bluetoothAdapter, handlerThinkGear); 
    328338 
    329339                        /** Retrieve a list of paired Bluetooth adapters */ 
     
    364374        // ################################################################ 
    365375 
    366                 public boolean onCreateOptionsMenu(Menu menu) { 
    367          
    368                         SubMenu sub = menu.addSubMenu("About"); 
    369                         sub.getItem().setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT); 
    370          
    371                         return true; 
    372          
    373                 } // onCreateOptionsMenu 
    374  
    375  
    376         // ################################################################ 
    377  
    378                 public boolean onOptionsItemSelected(MenuItem item) { 
    379                         if (item.getItemId() == android.R.id.home || item.getItemId() == 0) { 
    380                                 //                      Toast.makeText(this, "About menu: \"" + item.getTitle() + "\"", Toast.LENGTH_SHORT).show(); 
    381                                 Toast.makeText(this, "Puzzlebox Orbit\n Version: " + versionName, Toast.LENGTH_SHORT).show(); 
    382                                 return false; 
    383                         } 
    384                         ////      THEME = item.getItemId(); 
    385                         //      Toast.makeText(this, "Theme changed to \"" + item.getTitle() + "\"", Toast.LENGTH_SHORT).show(); 
    386                         Toast.makeText(this, "About menu: \"" + item.getTitle() + "\"", Toast.LENGTH_SHORT).show(); 
    387                         return true; 
    388          
    389                 } // onOptionsItemSelected 
     376        public boolean onCreateOptionsMenu(Menu menu) { 
     377 
     378                SubMenu sub = menu.addSubMenu("About"); 
     379                sub.getItem().setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT); 
     380 
     381                return true; 
     382 
     383        } // onCreateOptionsMenu 
     384 
     385 
     386        // ################################################################ 
     387 
     388        public boolean onOptionsItemSelected(MenuItem item) { 
     389                if (item.getItemId() == android.R.id.home || item.getItemId() == 0) { 
     390                        //                      Toast.makeText(this, "About menu: \"" + item.getTitle() + "\"", Toast.LENGTH_SHORT).show(); 
     391                        Toast.makeText(this, "Puzzlebox Orbit\n Version: " + versionName, Toast.LENGTH_SHORT).show(); 
     392                        return false; 
     393                } 
     394                ////      THEME = item.getItemId(); 
     395                //      Toast.makeText(this, "Theme changed to \"" + item.getTitle() + "\"", Toast.LENGTH_SHORT).show(); 
     396                Toast.makeText(this, "About menu: \"" + item.getTitle() + "\"", Toast.LENGTH_SHORT).show(); 
     397                return true; 
     398 
     399        } // onOptionsItemSelected 
    390400 
    391401 
     
    712722                viewSpaceGenerateAudioWidth = width / 4; // approximate center of screen 
    713723 
    714                 FragmentTabFlight fragmentFlight =  
    715                                 (FragmentTabFlight) getSupportFragmentManager().findFragmentByTag( getTabFragmentFlight() ); 
    716  
    717                 if (fragmentFlight != null) 
    718                         fragmentFlight.hideEEGRawHistory(); 
     724                if (eegDevice == "ThinkGear") { 
     725                        FragmentTabFlight fragmentFlight =  
     726                                        (FragmentTabFlight) getSupportFragmentManager().findFragmentByTag( getTabFragmentFlight() ); 
     727 
     728                        if (fragmentFlight != null) 
     729                                fragmentFlight.hideEEGRawHistory(); 
     730 
     731                } 
     732                else if (eegDevice == "Emotiv") { 
     733                        //                      FragmentTabFlightEmotiv fragmentFlight =  
     734                        //                                      (FragmentTabFlightEmotiv) getSupportFragmentManager().findFragmentByTag( getTabFragmentFlight() ); 
     735                        // 
     736                        //                      if (fragmentFlight != null) 
     737                        //                              fragmentFlight.hideEEGRawHistory(); 
     738                } 
     739 
    719740 
    720741 
     
    757778                if (fragmentAdvanced != null) 
    758779                        generateAudio = fragmentAdvanced.checkBoxGenerateAudio.isChecked(); 
    759                  
     780 
    760781                if (generateAudio) 
    761782                        fragmentAdvanced.checkBoxInvertControlSignal.setVisibility(View.VISIBLE); 
    762783                else 
    763784                        fragmentAdvanced.checkBoxInvertControlSignal.setVisibility(View.GONE); 
    764                  
     785 
    765786 
    766787 
     
    847868        // ################################################################ 
    848869 
    849         private final Handler handler = new Handler() { 
     870        private final Handler handlerThinkGear = new Handler() { 
    850871 
    851872                /** 
     
    10091030                 */ 
    10101031 
    1011                 if (tgDevice.getState() == TGDevice.STATE_CONNECTED) { 
    1012                         tgDevice.stop(); 
    1013                         tgDevice.close(); 
    1014                 } 
    1015                  
    1016                 stopControl(); 
    1017  
    1018                 FragmentTabFlight fragmentFlight =  
    1019                                 (FragmentTabFlight) getSupportFragmentManager().findFragmentByTag( getTabFragmentFlight() );             
    1020  
    1021                 if (fragmentFlight != null) 
    1022                         fragmentFlight.disconnectHeadset(); 
     1032                if (eegDevice == "ThinkGear") { 
     1033 
     1034                        if (tgDevice.getState() == TGDevice.STATE_CONNECTED) { 
     1035                                tgDevice.stop(); 
     1036                                tgDevice.close(); 
     1037                        } 
     1038 
     1039                        stopControl(); 
     1040 
     1041                        FragmentTabFlight fragmentFlight =  
     1042                                        (FragmentTabFlight) getSupportFragmentManager().findFragmentByTag( getTabFragmentFlight() );             
     1043 
     1044                        if (fragmentFlight != null) 
     1045                                fragmentFlight.disconnectHeadset(); 
     1046 
     1047                } 
     1048                else if (eegDevice == "Emotiv") { 
     1049 
     1050                        stopControl(); 
     1051 
     1052                        FragmentTabFlightEmotiv fragmentFlight =  
     1053                                        (FragmentTabFlightEmotiv) getSupportFragmentManager().findFragmentByTag( getTabFragmentFlight() );               
     1054 
     1055                        if (fragmentFlight != null) 
     1056                                fragmentFlight.disconnectHeadset(); 
     1057 
     1058                } 
    10231059 
    10241060 
     
    10641100                 */ 
    10651101 
    1066                 FragmentTabFlight fragmentFlight =  
    1067                                 (FragmentTabFlight) getSupportFragmentManager().findFragmentByTag( getTabFragmentFlight() ); 
    1068  
    1069                 if (fragmentFlight != null) 
    1070                         eegPower = fragmentFlight.updatePower(); 
     1102                if (eegDevice == "ThinkGear") { 
     1103                        FragmentTabFlight fragmentFlight =  
     1104                                        (FragmentTabFlight) getSupportFragmentManager().findFragmentByTag( getTabFragmentFlight() ); 
     1105 
     1106                        if (fragmentFlight != null) 
     1107                                eegPower = fragmentFlight.updatePower(); 
     1108                } 
     1109                else if (eegDevice == "Emotiv") { 
     1110 
     1111                        FragmentTabFlightEmotiv fragmentFlight =  
     1112                                        (FragmentTabFlightEmotiv) getSupportFragmentManager().findFragmentByTag( getTabFragmentFlight() ); 
     1113 
     1114                        if (fragmentFlight != null) 
     1115                                eegPower = fragmentFlight.updatePower(); 
     1116 
     1117                } 
    10711118 
    10721119                String command = ""; 
     
    11031150        public void updateEEGRawHistory() { 
    11041151 
    1105                 FragmentTabFlight fragmentFlight =  
    1106                                 (FragmentTabFlight) getSupportFragmentManager().findFragmentByTag( getTabFragmentFlight() ); 
    1107  
    1108                 if (fragmentFlight != null) 
    1109                         fragmentFlight.updateEEGRawHistory(rawEEG); 
    1110  
    1111                 rawEEG = new Number[512]; 
    1112                 arrayIndex = 0; 
     1152                if (eegDevice == "ThinkGear") { 
     1153 
     1154                        FragmentTabFlight fragmentFlight =  
     1155                                        (FragmentTabFlight) getSupportFragmentManager().findFragmentByTag( getTabFragmentFlight() ); 
     1156 
     1157                        if (fragmentFlight != null) 
     1158                                fragmentFlight.updateEEGRawHistory(rawEEG); 
     1159 
     1160                        rawEEG = new Number[512]; 
     1161                        arrayIndex = 0; 
     1162 
     1163                } 
    11131164 
    11141165        } // updateEEGRawHistory 
     
    11421193                                else 
    11431194                                        updateAudioHandlerLoopNumberWhileMindControl(4500); 
    1144                                  
     1195 
    11451196                                updateAudioHandlerChannel(channel); 
    1146                                  
     1197 
    11471198                                audioHandler.mutexNotify(); 
    11481199                        } 
     
    11571208                        /** Getting the user sound settings */ 
    11581209                        AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE); 
    1159 //                      float actualVolume = (float) audioManager.getStreamVolume(AudioManager.STREAM_MUSIC); 
     1210                        //                      float actualVolume = (float) audioManager.getStreamVolume(AudioManager.STREAM_MUSIC); 
    11601211                        float maxVolume = (float) audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC); 
    1161 //                      float volume = actualVolume / maxVolume; 
    1162                          
     1212                        //                      float volume = actualVolume / maxVolume; 
     1213 
    11631214                        audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, (int) maxVolume, 0); 
    11641215                        /** Is the sound loaded already? */ 
    11651216                        if (loaded) { 
    1166 //                              soundPool.play(soundID, volume, volume, 1, 0, 1f); 
    1167 //                              soundPool.setVolume(soundID, 1f, 1f); 
    1168 //                              soundPool.play(soundID, maxVolume, maxVolume, 1, 0, 1f); // Fixes Samsung Galaxy S4 [SGH-M919] 
     1217                                //                              soundPool.play(soundID, volume, volume, 1, 0, 1f); 
     1218                                //                              soundPool.setVolume(soundID, 1f, 1f); 
     1219                                //                              soundPool.play(soundID, maxVolume, maxVolume, 1, 0, 1f); // Fixes Samsung Galaxy S4 [SGH-M919] 
    11691220                                soundPool.play(soundID, 1f, 1f, 1, 0, 1f); // Fixes Samsung Galaxy S4 [SGH-M919] 
    11701221                                if (DEBUG) 
     
    14021453 
    14031454                emailMessage.execute(); 
    1404                  
    1405                  
     1455 
     1456 
    14061457                fragmentSupport.editTextName.setText(""); 
    14071458                fragmentSupport.editTextEmail.setText(""); 
Note: See TracChangeset for help on using the changeset viewer.