--------------------------------------------------------------------------- Name Treo650PowerOut --------------------------------------------------------------------------- Description This sample code shows how to power on/off the Multi-connector POWER_OUT pin on Treo 650. Features: - Power On the POWER_OUT pin (Treo 650 Only). - Power Off the POWER_OUT pin (Treo 650 Only). Files: - Treo650PowerOut: Shows how to power on/off the POWER_OUT pin on Treo 650. --------------------------------------------------------------------------- Builds With CodeWarrior Gcc --------------------------------------------------------------------------- Devices Treo 650 --------------------------------------------------------------------------- Requirements --------------------------------------------------------------------------- Libraries Used --------------------------------------------------------------------------- How to Run 1. Power On the POWER_OUT pin by tapping on the Power On POWER_OUT button 2. Power Off the POWER_OUT pin by tapping on the Power Off POWER_OUT button --------------------------------------------------------------------------- Note WARNING: This sample code uses an ARMlet to power on/off the POWER_OUT pin on Treo 650. This is not officially supported by Palm. Please use this at your own risk. Ideally, you should be using the PmConnectorLib, if available. Recommendations: Here is what needs to be done in the application: #if (CPU_TYPE != CPU_68K) || (defined BUILDING_PMCONNECTOR_LIB) #define PMCONNECTOR_LIB_TRAP(trapNum) #else #include #define PMCONNECTOR_LIB_TRAP(trapNum) SYS_TRAP(trapNum) #endif #define kPmConnectorLibType sysFileTLibrary #define kPmConnectorLibCreator 'PmAt' #define kPmConnectorLibName "PmConnector" #define kPmConnectorLibTrapOpen sysLibTrapOpen #define kPmConnectorLibTrapClose sysLibTrapClose #define kPmConnectorLibCtrlPowerOn 0x01 #define kPmConnectorLibCtrlPowerOff 0x02 Err PmConnectorLibOpen (UInt16 refNum) PMCONNECTOR_LIB_TRAP (kPmConnectorLibTrapOpen); Err PmConnectorLibClose (UInt16 refNum) PMCONNECTOR_LIB_TRAP (kPmConnectorLibTrapClose); Err PmConnectorLibControl (UInt16 refNum, UInt16 cmdId, void *parmP) PMCONNECTOR_LIB_TRAP (sysLibTrapCustom + 1); // Send Power to the Power_out pin { // Try to find the library err = SysLibFind( kPmConnectorLibName, &refNum ); if ( err != errNone ) err = SysLibLoad( kPmConnectorLibType, kPmConnectorLibCreator, &refNum ); if ( err ) { // Use the Armlet to Power on the POWER_OUT Pin (See Sample code for more details) } else { PmConnectorLibOpen( refNum ); PmConnectorLibControl( refNum, kPmConnectorLibCtrlPowerOn, (void *)NULL); PmConnectorLibClose( refNum ); } } ---------------------------------------------------------------------------