Changeset e511c74 in orbit


Ignore:
Timestamp:
12/11/12 07:25:47 (7 years ago)
Author:
Steve Castellotti <sc@…>
Branches:
master, RawEEG, Raw_EEG_Plot, Servo, Tab_Interface, pyramid
Children:
46fb26f
Parents:
403fb9a
Message:
  • Log output controlled by "DEBUG" variable in preparation for production release
  • appendTextAndScroll disabled due to scrolling failure
  • stopControl checks that soundPool has been initialized
  • Removed legacy comments from XML files
Location:
android
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • android/AndroidManifest.xml

    ra32b629 re511c74  
    3737    </application> 
    3838 
    39 </manifest><!-- <manifest xmlns:android="http://schemas.android.com/apk/res/android" --> 
    40 <!-- package="info.puzzlebox.orbit" --> 
    41 <!-- android:versionCode="1" --> 
    42 <!-- android:versionName="1.0" > --> 
    43  
    44 <!-- <uses-sdk --> 
    45 <!-- android:minSdkVersion="15" --> 
    46 <!-- android:targetSdkVersion="15" /> --> 
    47  
    48 <!-- <application --> 
    49 <!-- android:icon="@drawable/ic_launcher" --> 
    50 <!-- android:label="@string/app_name" --> 
    51 <!-- android:theme="@style/AppTheme" > --> 
    52 <!-- <activity --> 
    53 <!-- android:name=".MainActivity" --> 
    54 <!-- android:label="@string/title_activity_main" > --> 
    55 <!-- <meta-data --> 
    56 <!-- android:name="android.support.PARENT_ACTIVITY" --> 
    57 <!-- android:value="android.app.ActivityGroup" /> --> 
    58 <!-- </activity> --> 
    59 <!-- </application> --> 
    60  
    61 <!-- </manifest> --> 
     39</manifest> 
  • android/gen/info/puzzlebox/orbit/R.java

    ra32b629 re511c74  
    4848    } 
    4949    public static final class string { 
    50         public static final int app_name=0x7f070001; 
    51         public static final int button_connect=0x7f070008; 
    52         public static final int button_demo=0x7f07000a; 
    53         public static final int button_disconnect=0x7f070009; 
    54         public static final int button_hover=0x7f07000b; 
    55         public static final int hello=0x7f070000; 
    56         public static final int label_attention=0x7f070003; 
    57         public static final int label_debug_console=0x7f070007; 
    58         public static final int label_meditation=0x7f070004; 
    59         public static final int label_power=0x7f070006; 
    60         public static final int label_signal=0x7f070005; 
    61         public static final int menu_settings=0x7f070002; 
    62         public static final int seekbar_from_touch=0x7f07000e; 
    63         public static final int seekbar_tracking_off=0x7f07000d; 
    64         public static final int seekbar_tracking_on=0x7f07000c; 
     50        public static final int app_name=0x7f070000; 
     51        public static final int button_connect=0x7f070007; 
     52        public static final int button_demo=0x7f070009; 
     53        public static final int button_disconnect=0x7f070008; 
     54        public static final int button_hover=0x7f07000a; 
     55        public static final int label_attention=0x7f070002; 
     56        public static final int label_debug_console=0x7f070006; 
     57        public static final int label_meditation=0x7f070003; 
     58        public static final int label_power=0x7f070005; 
     59        public static final int label_signal=0x7f070004; 
     60        public static final int menu_settings=0x7f070001; 
     61        public static final int seekbar_from_touch=0x7f07000d; 
     62        public static final int seekbar_tracking_off=0x7f07000c; 
     63        public static final int seekbar_tracking_on=0x7f07000b; 
    6564    } 
    6665    public static final class style { 
  • android/res/layout/activity_main.xml

    r5b7f570 re511c74  
    7878        android:layout_height="wrap_content" /> 
    7979 
    80     <TextView 
    81         android:layout_width="fill_parent" 
    82         android:layout_height="wrap_content" 
    83         android:text="@string/hello" /> 
    84  
    8580    <ScrollView android:layout_width="fill_parent" android:id="@+id/scrollViewDebugConsole" android:fadeScrollbars="true" android:scrollbars="vertical" android:layout_height="0dip" android:layout_weight="1.00"> 
    8681            <TextView android:id="@+id/textViewDebugConsole" android:layout_width="fill_parent" android:text="@string/label_debug_console" android:layout_height="fill_parent"></TextView> 
     
    9287</LinearLayout> 
    9388 
    94  
    95 <!-- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" --> 
    96 <!--     xmlns:tools="http://schemas.android.com/tools" --> 
    97 <!--     android:layout_width="match_parent" --> 
    98 <!--     android:layout_height="match_parent" > --> 
    99  
    100 <!--     <TextView --> 
    101 <!--         android:layout_width="wrap_content" --> 
    102 <!--         android:layout_height="wrap_content" --> 
    103 <!--         android:layout_centerHorizontal="true" --> 
    104 <!--         android:layout_centerVertical="true" --> 
    105 <!--         android:text="@string/hello_world" --> 
    106 <!--         tools:context=".MainActivity" /> --> 
    107  
    108 <!-- </RelativeLayout> --> 
  • android/res/values/strings.xml

    r403fb9a re511c74  
    11<?xml version="1.0" encoding="utf-8"?> 
    22<resources> 
    3     <string name="hello">Puzzlebox Orbit</string> 
    43    <string name="app_name">Orbit</string> 
    54    <string name="menu_settings">Settings</string> 
    6     <string name="label_attention">Concentration</string> 
    7     <string name="label_meditation">Mental Relaxation</string> 
     5    <string name="label_attention">Attention</string> 
     6    <string name="label_meditation">Meditationy</string> 
    87    <string name="label_signal">Signal</string> 
    98    <string name="label_power">Throttle</string> 
    10     <string name="label_debug_console">Remember to set volume at maximum</string> 
     9    <string name="label_debug_console">Puzzlebox Orbit</string> 
    1110    <string name="button_connect">Connect</string> 
    1211    <string name="button_disconnect">Disconnect</string> 
     
    1716    <string name="seekbar_from_touch">from touch</string> 
    1817</resources> 
    19  
    20 <!-- <resources> --> 
    21  
    22 <!--     <string name="app_name">Puzzlebox Orbit</string> --> 
    23 <!--     <string name="hello_world">Hello world!</string> --> 
    24 <!--     <string name="menu_settings">Settings</string> --> 
    25 <!--     <string name="title_activity_main">MainActivity</string> --> 
    26  
    27 <!-- </resources> --> 
  • android/src/info/puzzlebox/orbit/MainActivity.java

    r403fb9a re511c74  
    7676         * Logging 
    7777         */ 
     78        /** set to "false" for production releases */ 
     79        //      boolean DEBUG = true; 
     80        boolean DEBUG = false; 
    7881        String TAG = "MainActivity"; 
    7982 
     
    222225                tv.setText(""); 
    223226                appendTextAndScroll("Android version: " + Integer.valueOf(android.os.Build.VERSION.SDK) + "\n" ); 
     227                appendTextAndScroll("Remember to set volume at maximum!\n"); 
    224228 
    225229 
     
    354358                 * to the text display area, then automatically 
    355359                 * scroll to the bottom of visible text. 
    356                  */ 
    357  
    358                 if (tv != null) { 
    359                         //              tv.append(text + "\n"); 
     360                 * (Currently disabled) 
     361                 */ 
     362 
     363                if (tv != null) 
    360364                        tv.append(text); 
    361                         final Layout layout = tv.getLayout(); 
    362                         if (layout != null) { 
    363                                 int scrollDelta = layout.getLineBottom(tv.getLineCount() - 1)  
    364                                                 - tv.getScrollY() - tv.getHeight(); 
    365                                 if (scrollDelta > 0) 
    366                                         tv.scrollBy(0, scrollDelta); 
    367                         } 
    368                 } 
     365 
     366                //              if (tv != null) { 
     367                //                      //              tv.append(text + "\n"); 
     368                //                      tv.append(text); 
     369                //                      final Layout layout = tv.getLayout(); 
     370                //                      if (layout != null) { 
     371                //                              int scrollDelta = layout.getLineBottom(tv.getLineCount() - 1)  
     372                //                                              - tv.getScrollY() - tv.getHeight(); 
     373                //                              if (scrollDelta > 0) 
     374                //                                      tv.scrollBy(0, scrollDelta); 
     375                //                      } 
     376                //              } 
     377 
    369378        } // appendTextAndScroll 
    370379 
     
    471480                                        //                                      Log.d(TAG, "Connecting to EEG: " + MAC_ADDRESS); 
    472481                                        //                                      appendTextAndScroll("Connecting to EEG: " + MAC_ADDRESS + "\n"); 
    473                                         Log.d(TAG, "Connecting to EEG"); 
     482                                        if (DEBUG) 
     483                                                Log.v(TAG, "Connecting to EEG"); 
    474484                                        appendTextAndScroll("Connecting to EEG\n"); 
    475485                                        break; 
    476486                                case TGDevice.STATE_CONNECTED: 
    477                                         Log.d(TAG, "EEG Connected"); 
     487                                        if (DEBUG) 
     488                                                Log.v(TAG, "EEG Connected"); 
    478489                                        appendTextAndScroll("Bluetooth Connected\n"); 
    479490                                        setButtonText(R.id.button1, "Disconnect"); 
     
    481492                                        break; 
    482493                                case TGDevice.STATE_NOT_FOUND: 
    483                                         Log.d(TAG, "EEG headset not found"); 
     494                                        if (DEBUG) 
     495                                                Log.v(TAG, "EEG headset not found"); 
    484496                                        appendTextAndScroll("EEG headset not found\n"); 
    485497                                        break; 
    486498                                case TGDevice.STATE_NOT_PAIRED: 
    487                                         Log.d(TAG, "EEG headset not paired"); 
     499                                        if (DEBUG) 
     500                                                Log.v(TAG, "EEG headset not paired"); 
    488501                                        appendTextAndScroll("EEG headset not paired\n"); 
    489502                                        break; 
    490503                                case TGDevice.STATE_DISCONNECTED: 
    491                                         Log.d(TAG, "EEG Disconnected"); 
     504                                        if (DEBUG) 
     505                                                Log.v(TAG, "EEG Disconnected"); 
    492506                                        appendTextAndScroll("EEG Disconnected\n"); 
    493507                                        disconnectHeadset(); 
     
    499513                        case TGDevice.MSG_POOR_SIGNAL: 
    500514                                tgSignal = calculateSignal(msg.arg1); 
    501                                 Log.v(TAG, "PoorSignal: " + msg.arg1); 
     515                                if (DEBUG) 
     516                                        Log.v(TAG, "PoorSignal: " + msg.arg1); 
    502517                                //                              appendTextAndScroll("\nPoorSignal: " + msg.arg1 + "\n"); 
    503518                                progressBarSignal.setProgress(tgSignal); 
     
    511526                                break; 
    512527                        case TGDevice.MSG_HEART_RATE: 
    513                                 Log.v(TAG, "Heart rate: " + msg.arg1); 
     528                                if (DEBUG) 
     529                                        Log.v(TAG, "Heart rate: " + msg.arg1); 
    514530                                //                              appendTextAndScroll("Heart rate: " + msg.arg1 + "\n"); 
    515531                                break; 
    516532                        case TGDevice.MSG_ATTENTION: 
    517                                 Log.v(TAG, "Attention: " + msg.arg1); 
     533                                if (DEBUG) 
     534                                        Log.v(TAG, "Attention: " + msg.arg1); 
    518535                                //                              appendTextAndScroll("Attention: " + msg.arg1 + "\n"); 
    519536                                progressBarAttention.setProgress(msg.arg1); 
     
    522539                                break; 
    523540                        case TGDevice.MSG_MEDITATION: 
    524                                 Log.v(TAG, "Meditation: " + msg.arg1); 
     541                                if (DEBUG) 
     542                                        Log.v(TAG, "Meditation: " + msg.arg1); 
    525543                                //                              appendTextAndScroll("Meditation: " + msg.arg1 + "\n"); 
    526544                                progressBarMeditation.setProgress(msg.arg1); 
     
    553571                 */ 
    554572 
     573                /** Reset text output when connecting to EEG */ 
     574                tv.setText(""); 
     575 
     576                /** Stop audio stream */ 
     577                stopControl(); 
     578 
    555579                if (tgDevice.getState() != TGDevice.STATE_CONNECTING && tgDevice.getState() != TGDevice.STATE_CONNECTED) 
    556580                        tgDevice.connect(rawEnabled); 
     
    570594                 */ 
    571595 
    572                 tgDevice.stop(); 
    573                 tgDevice.close(); 
     596                if (tgDevice.getState() == TGDevice.STATE_CONNECTED) { 
     597                        tgDevice.stop(); 
     598                        tgDevice.close(); 
     599                } 
    574600                stopControl(); 
    575601                progressBarAttention.setProgress(0); 
     
    733759                } 
    734760 
    735                 //              appendTextAndScroll("Command: " + command + "\n"); 
    736                 Log.v(TAG, "Command: " + command); 
     761                if (DEBUG) { 
     762                        Log.v(TAG, "Command: " + command); 
     763                        //                      appendTextAndScroll("Command: " + command + "\n"); 
     764                } 
    737765 
    738766                /** This sequence is used for managing the USB Serial control */ 
     
    749777 
    750778        //      public String getPowerCommand(int speed) { 
    751         //               
     779        // 
    752780        //              /** 
    753781        //               * This method is used to set the throttle 
     
    767795        //                      command = "%000"; 
    768796        // 
    769         //              Log.v(TAG, "Power command: " + command); 
    770         //              //              Log.v(TAG, "Command for serial device: " + command); 
    771         //              //              appendTextAndScroll("Command for serial device: " + command + "\n"); 
     797        //              if (DEBUG) { 
     798        //                      Log.v(TAG, "Command for serial device: " + command); 
     799        ////                    appendTextAndScroll("Command for serial device: " + command + "\n"); 
     800        //              } 
    772801        // 
    773802        //              return(command); 
     
    790819                if (loaded) { 
    791820                        soundPool.play(soundID, volume, volume, 1, 0, 1f); 
    792                         Log.e("Test", "Played sound"); 
     821                        if (DEBUG) 
     822                                Log.v(TAG, "Played sound"); 
    793823                } 
    794824 
     
    802832                 */ 
    803833 
    804                 try { 
    805                         soundPool.stop(soundID); 
    806                 } catch (Exception e) { 
    807                         // TODO Auto-generated catch block 
    808                         e.printStackTrace(); 
     834                if (soundPool != null) { 
     835                        try { 
     836                                soundPool.stop(soundID); 
     837                        } catch (Exception e) { 
     838                                // TODO Auto-generated catch block 
     839                                e.printStackTrace(); 
     840                        } 
    809841                } 
    810842 
     
    813845 
    814846        void genTone(){ 
    815                  
     847 
    816848                /** 
    817849                 * Generate a carrier signal for communication 
    818850                 * with the IR Dongle 
    819851                 */ 
    820                  
     852 
    821853                /** Fill out the array */ 
    822854                for (int i = 0; i < numSamples; ++i) { 
     
    841873 
    842874        void playTone(){ 
    843                  
     875 
    844876                /** 
    845877                 * Play the generated carrier signal 
    846878                 */ 
    847                  
     879 
    848880                final AudioTrack audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, 
    849881                                //                sampleRate, AudioFormat.CHANNEL_CONFIGURATION_MONO, 
     
    860892 
    861893        public void demoMode(View view) { 
    862                  
     894 
    863895                /** 
    864896                 * Demo mode is called when the "Test Helicopter" button is pressed. 
     
    867899                 */ 
    868900 
     901                Log.v(TAG, "Sending Test Signal to Helicopter"); 
     902                appendTextAndScroll("Sending Test Signal to Helicopter\n"); 
     903 
     904                playControl(); 
     905 
    869906                //              playTone(); 
    870907 
    871                 playControl(); 
    872908 
    873909                /** The following demo mode, when used with an Arduino-controlled infrared circuit, 
Note: See TracChangeset for help on using the changeset viewer.