Design; Software Design; Sample Code To Enable External Power - Motorola MC9190 User Documentation

Ext power control
Table of Contents

Advertisement

3. Design

3.1 Software Design

The new External power driver (EXP1) directly access the H/W and controls external power pin. The
existing Serial Driver also accesses this pin but its activity can be controlled via system registry.
Here we have blocked COM1 controlling external power pin using the below registry entry.
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial\DevPower]
"PwrControlType"=dword:00000000
Then we load External power driver as a built in driver using below registry entry so that user
application can open it using EXP1.
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\ExtPwrPin]
"FriendlyName"="External Power Pin Driver"
"Prefix"="EXP"
"Dll"="ExtPwrPin.dll"
"Index"=dword:00000001
"Order"=dword:00000005
"IClass"=MultiSZ: {A32942B7-920C-486b-B0E6-92A702A99B35}
We have below Device IO control exposed out for the application developer to use.
IOCTL_ENABLE_EXTPWRPIN

3.1.1 Sample code to enable external power

#include
<winIoctl.h>
#define
FILE_DEVICE_EXTERNALPOWERPIN_TOGGLER
#define
IOCTL_ENABLE_EXTPWRPIN \
CTL_CODE(FILE_DEVICE_EXTERNALPOWERPIN_TOGGLER, 0x801, \
METHOD_BUFFERED, FILE_WRITE_ACCESS)
HANDLE
g_hPwrPort=INVALID_HANDLE_VALUE;
BOOL
bVal=TRUE;
//Set True for Power ON
//open External power driver
g_hPwrPort = CreateFile (L"EXP1:", GENERIC_READ,FILE_SHARE_READ, \
//If we have a valid handle, call DeviceIoControl
if(INVALID_HANDLE_VALUE != g_hPwrPort)
Above code sample can be used to open the EXP1 and to set power pin to ON.
0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
DeviceIoControl(g_hPwrPort,IOCTL_ENABLE_EXTPWRPIN, \
(LPVOID)&bVal,sizeof(BOOL),NULL,NULL,NULL,NULL);
Page 7 of 10
0x00007000

Advertisement

Table of Contents
loading

Table of Contents