initial commit
This commit is contained in:
commit
304504bdfa
77
.cdtbuild
Normal file
77
.cdtbuild
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<?fileVersion 2.0.0?>
|
||||||
|
|
||||||
|
<ManagedProjectBuildInfo>
|
||||||
|
<target id="RattailPalm.com.palmsource.eclipse.palmos4dev.target.m68k_palmos.exe.255930048" name="Garnet OS 68K Application" parent="com.palmsource.eclipse.palmos4dev.target.m68k_palmos.exe" isAbstract="false" artifactName="RattailPalm" isTest="false">
|
||||||
|
<configuration id="target.m68k_palmos.exe.debug.249774065" name="Debug" parent="target.m68k_palmos.exe.debug">
|
||||||
|
<toolReference id="com.palmsource.eclipse.palmostools.compiler.palmrc" command=""$(TOOLS_DIR)PalmRC"" outputPrefix="" inputFlag="" outputFlag="-o" outputs="trc">
|
||||||
|
<optionReference id="tool.compiler.palmrc.option.otherFlags">
|
||||||
|
<listOptionValue value="-p PalmOS4" builtIn="false"/>
|
||||||
|
</optionReference>
|
||||||
|
<optionReference id="tool.compiler.palmrc.option.locale" defaultValue=" enUS"/>
|
||||||
|
<optionReference id="tool.compiler.palmrc.option.overlayFilter" defaultValue="tool.compiler.palmrc.option.overlay_filter.none"/>
|
||||||
|
<optionReference id="tool.compiler.palmrc.option.encodingTarget" defaultValue="tool.compiler.palmrc.option.encoding.latin"/>
|
||||||
|
<optionReference id="tool.compiler.palmrc.option.strictEncoding" defaultValue="true"/>
|
||||||
|
<optionReference id="tool.compiler.palmrc.option.noWarnSize" defaultValue="false"/>
|
||||||
|
</toolReference>
|
||||||
|
<toolReference id="com.palmsource.eclipse.palmos4dev.compiler.m68k_palmos" command="m68k-palmos-gcc -c" outputPrefix="" inputFlag="" outputFlag="-o" outputs="o">
|
||||||
|
<optionReference id="tool.compiler.gcc.68K.option.optLevel" defaultValue="tool.compiler.m68k_palmos_gcc.option.optimization.0"/>
|
||||||
|
<optionReference id="tool.compiler.gcc.68K.option.debugLevel" defaultValue="tool.compiler.m68k_palmos_gcc.option.debug_level.default"/>
|
||||||
|
<optionReference id="tool.compiler.gcc.68K.option.defineSymbols">
|
||||||
|
<listOptionValue value="__PALMOS__=0x05000000" builtIn="false"/>
|
||||||
|
</optionReference>
|
||||||
|
<optionReference id="tool.compiler.gcc.68K.option.includeDirs">
|
||||||
|
<listOptionValue value=""$(TOOLS_DIR)include/stlport"" builtIn="false"/>
|
||||||
|
</optionReference>
|
||||||
|
<optionReference id="tool.compiler.gcc.68K.option.exceptions" defaultValue="tool.compiler.m68k_palmos_gcc.option.exceptions.enable"/>
|
||||||
|
<optionReference id="tool.compiler.gcc.68K.option.assertions" defaultValue="tool.compiler.m68k_palmos_gcc.option.assertions.enable"/>
|
||||||
|
<optionReference id="tool.compiler.gcc.68K.option.warningLevel" defaultValue="tool.compiler.m68k_palmos_gcc.option.warning_level.all"/>
|
||||||
|
</toolReference>
|
||||||
|
<toolReference id="com.palmsource.eclipse.palmos4dev.linker.m68k_palmos" command="m68k-palmos-gcc" outputPrefix="" inputFlag="" outputFlag="-o" outputs="">
|
||||||
|
<optionReference id="tool.linker.gcc.68K.option.enableLinkerDebug" defaultValue="true"/>
|
||||||
|
<optionReference id="tool.linker.gcc.68K.option.additionalLibs"/>
|
||||||
|
<optionReference id="tool.linker.gcc.68K.option.userObjs"/>
|
||||||
|
<optionReference id="tool.linker.gcc.68K.option.otherFlags"/>
|
||||||
|
</toolReference>
|
||||||
|
<toolReference id="com.palmsource.eclipse.palmos4dev.builder.build-prc" command="build-prc" outputPrefix="" inputFlag="" outputFlag="-o" outputs="">
|
||||||
|
<optionReference id="tool.builder.build-prc.option.other">
|
||||||
|
<listOptionValue value="$(MULTISECTION_DEFINITIONS_FILE)" builtIn="false"/>
|
||||||
|
<listOptionValue value="-c '$(CREATOR_ID)'" builtIn="false"/>
|
||||||
|
<listOptionValue value="-n $(ARTIFACT_NAME)" builtIn="false"/>
|
||||||
|
</optionReference>
|
||||||
|
</toolReference>
|
||||||
|
</configuration>
|
||||||
|
<configuration id="target.m68k_palmos.exe.release.1467601361" name="Release" parent="target.m68k_palmos.exe.release">
|
||||||
|
<toolReference id="com.palmsource.eclipse.palmostools.compiler.palmrc" command=""$(TOOLS_DIR)PalmRC"" outputPrefix="" inputFlag="" outputFlag="-o" outputs="trc">
|
||||||
|
<optionReference id="tool.compiler.palmrc.option.otherFlags">
|
||||||
|
<listOptionValue value="-p PalmOS4" builtIn="false"/>
|
||||||
|
</optionReference>
|
||||||
|
<optionReference id="tool.compiler.palmrc.option.locale" defaultValue=" enUS"/>
|
||||||
|
<optionReference id="tool.compiler.palmrc.option.overlayFilter" defaultValue="None specified"/>
|
||||||
|
<optionReference id="tool.compiler.palmrc.option.encodingTarget" defaultValue="Palm OS Latin"/>
|
||||||
|
<optionReference id="tool.compiler.palmrc.option.strictEncoding" defaultValue="true"/>
|
||||||
|
<optionReference id="tool.compiler.palmrc.option.noWarnSize" defaultValue="false"/>
|
||||||
|
</toolReference>
|
||||||
|
<toolReference id="com.palmsource.eclipse.palmos4dev.compiler.m68k_palmos" command="m68k-palmos-gcc -c" outputPrefix="" inputFlag="" outputFlag="-o" outputs="o">
|
||||||
|
<optionReference id="tool.compiler.gcc.68K.option.optLevel" defaultValue="More (-O2)"/>
|
||||||
|
<optionReference id="tool.compiler.gcc.68K.option.debugLevel" defaultValue="None"/>
|
||||||
|
<optionReference id="tool.compiler.gcc.68K.option.defineSymbols">
|
||||||
|
<listOptionValue value="__PALMOS__=0x05000000" builtIn="false"/>
|
||||||
|
</optionReference>
|
||||||
|
<optionReference id="tool.compiler.gcc.68K.option.includeDirs">
|
||||||
|
<listOptionValue value=""$(TOOLS_DIR)include/stlport"" builtIn="false"/>
|
||||||
|
</optionReference>
|
||||||
|
<optionReference id="tool.compiler.gcc.68K.option.exceptions" defaultValue="Enable (-fexceptions)"/>
|
||||||
|
<optionReference id="tool.compiler.gcc.68K.option.assertions" defaultValue="Enable (-UNDEBUG)"/>
|
||||||
|
<optionReference id="tool.compiler.gcc.68K.option.warningLevel" defaultValue="All (-Wall)"/>
|
||||||
|
</toolReference>
|
||||||
|
<toolReference id="com.palmsource.eclipse.palmos4dev.builder.build-prc" command="build-prc" outputPrefix="" inputFlag="" outputFlag="-o" outputs="">
|
||||||
|
<optionReference id="tool.builder.build-prc.option.other">
|
||||||
|
<listOptionValue value="$(MULTISECTION_DEFINITIONS_FILE)" builtIn="false"/>
|
||||||
|
<listOptionValue value="-c '$(CREATOR_ID)'" builtIn="false"/>
|
||||||
|
<listOptionValue value="-n $(ARTIFACT_NAME)" builtIn="false"/>
|
||||||
|
</optionReference>
|
||||||
|
</toolReference>
|
||||||
|
</configuration>
|
||||||
|
</target>
|
||||||
|
</ManagedProjectBuildInfo>
|
18
.cdtproject
Normal file
18
.cdtproject
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<?eclipse-cdt version="2.0"?>
|
||||||
|
|
||||||
|
<cdtproject id="org.eclipse.cdt.managedbuilder.core.managedMake">
|
||||||
|
<extension point="org.eclipse.cdt.core.ScannerInfoProvider" id="org.eclipse.cdt.managedbuilder.core.ManagedBuildManager"/>
|
||||||
|
<extension point="org.eclipse.cdt.core.BinaryParser" id="org.eclipse.cdt.core.PE"/>
|
||||||
|
<data>
|
||||||
|
<item id="cdt_indexer">
|
||||||
|
<indexEnabled indexValue="true"/>
|
||||||
|
<indexerProblemsEnabled indexProblemsValue="0"/>
|
||||||
|
</item>
|
||||||
|
<item id="org.eclipse.cdt.core.pathentry">
|
||||||
|
<pathentry kind="src" path=""/>
|
||||||
|
<pathentry kind="out" path=""/>
|
||||||
|
<pathentry kind="con" path="org.eclipse.cdt.managedbuilder.MANAGED_CONTAINER"/>
|
||||||
|
</item>
|
||||||
|
</data>
|
||||||
|
</cdtproject>
|
84
.project
Normal file
84
.project
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>RattailPalm</name>
|
||||||
|
<comment></comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
<buildCommand>
|
||||||
|
<name>com.palmsource.eclipse.palmoscore.palmOSBuildToolsVerifier</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>com.palmsource.eclipse.palmoscore.palmOSMakeBuilder</name>
|
||||||
|
<arguments>
|
||||||
|
<dictionary>
|
||||||
|
<key>DATABASE_RESET</key>
|
||||||
|
<value></value>
|
||||||
|
</dictionary>
|
||||||
|
<dictionary>
|
||||||
|
<key>DATABASE_BUNDLE</key>
|
||||||
|
<value></value>
|
||||||
|
</dictionary>
|
||||||
|
<dictionary>
|
||||||
|
<key>CREATOR_ID</key>
|
||||||
|
<value>RTTL</value>
|
||||||
|
</dictionary>
|
||||||
|
<dictionary>
|
||||||
|
<key>DATABASE_BACKUP</key>
|
||||||
|
<value>-b</value>
|
||||||
|
</dictionary>
|
||||||
|
<dictionary>
|
||||||
|
<key>DB_TYPE</key>
|
||||||
|
<value>appl</value>
|
||||||
|
</dictionary>
|
||||||
|
<dictionary>
|
||||||
|
<key>PROJECT_VERSION</key>
|
||||||
|
<value>10100</value>
|
||||||
|
</dictionary>
|
||||||
|
<dictionary>
|
||||||
|
<key>DATABASE_PROTECT</key>
|
||||||
|
<value></value>
|
||||||
|
</dictionary>
|
||||||
|
<dictionary>
|
||||||
|
<key>SDK</key>
|
||||||
|
<value>com.palmsource.eclipse.sdk.palmos5</value>
|
||||||
|
</dictionary>
|
||||||
|
<dictionary>
|
||||||
|
<key>DB_NAME</key>
|
||||||
|
<value>Rattail</value>
|
||||||
|
</dictionary>
|
||||||
|
<dictionary>
|
||||||
|
<key>DATABASE_HIDDEN</key>
|
||||||
|
<value></value>
|
||||||
|
</dictionary>
|
||||||
|
<dictionary>
|
||||||
|
<key>DATABASE_VERSION</key>
|
||||||
|
<value>1</value>
|
||||||
|
</dictionary>
|
||||||
|
<dictionary>
|
||||||
|
<key>OS_API</key>
|
||||||
|
<value>68K</value>
|
||||||
|
</dictionary>
|
||||||
|
<dictionary>
|
||||||
|
<key>PROJECT_TYPE</key>
|
||||||
|
<value>appl</value>
|
||||||
|
</dictionary>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>com.palmsource.eclipse.palmos4dev.palmOS4GeneratedMakefileBuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>com.palmsource.eclipse.palmos4dev.palmOS68KManagedNature</nature>
|
||||||
|
<nature>com.palmsource.eclipse.palmoscore.palmOSManagedNature</nature>
|
||||||
|
<nature>com.palmsource.eclipse.palmoscore.palmOSNature</nature>
|
||||||
|
<nature>org.eclipse.cdt.core.cnature</nature>
|
||||||
|
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
||||||
|
<nature>org.eclipse.cdt.core.ccnature</nature>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
72
auto-generated.mk
Normal file
72
auto-generated.mk
Normal file
|
@ -0,0 +1,72 @@
|
||||||
|
# This file auto-generated by Garnet OS Make builder. Don't modify directly!!!
|
||||||
|
|
||||||
|
# This value is unescaped. Either quote the value or escape special characters when you use it.
|
||||||
|
ifeq ($(TOOLS_DIR), )
|
||||||
|
TOOLS_DIR = C:/Program Files/ACCESS/Garnet OS Development Suite/PalmOSTools/
|
||||||
|
endif
|
||||||
|
|
||||||
|
# This value is unescaped. Either quote the value or escape special characters when you use it.
|
||||||
|
ifeq ($(SDK_LOCATION), )
|
||||||
|
SDK_LOCATION = C:/Program Files/ACCESS/Garnet OS Development Suite/sdk-5r4/
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(SDK_VERSION), )
|
||||||
|
SDK_VERSION = sdk-5r4
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(DATABASE_BUNDLE), )
|
||||||
|
DATABASE_BUNDLE =
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(DATABASE_RESET), )
|
||||||
|
DATABASE_RESET =
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CREATOR_ID), )
|
||||||
|
CREATOR_ID = RTTL
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(DATABASE_BACKUP), )
|
||||||
|
DATABASE_BACKUP = -b
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(DB_TYPE), )
|
||||||
|
DB_TYPE = appl
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(PROJECT_VERSION), )
|
||||||
|
PROJECT_VERSION = 10100
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(SDK), )
|
||||||
|
SDK = com.palmsource.eclipse.sdk.palmos5
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(DATABASE_PROTECT), )
|
||||||
|
DATABASE_PROTECT =
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(DB_NAME), )
|
||||||
|
DB_NAME = Rattail
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(DATABASE_HIDDEN), )
|
||||||
|
DATABASE_HIDDEN =
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(DATABASE_VERSION), )
|
||||||
|
DATABASE_VERSION = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(OS_API), )
|
||||||
|
OS_API = 68K
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(PROJECT_TYPE), )
|
||||||
|
PROJECT_TYPE = appl
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(ARTIFACT_NAME), )
|
||||||
|
ARTIFACT_NAME = RattailPalm
|
||||||
|
endif
|
||||||
|
|
14
package.psml
Normal file
14
package.psml
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<PalmOSInstaller
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:noNamespaceSchemaLocation="http://www.palmsource.com/installer/psi.xsd">
|
||||||
|
<Product ID="RattailPalm"
|
||||||
|
DisplayVersion="1.0"
|
||||||
|
Version="1.0.0.0"
|
||||||
|
OTA="true"
|
||||||
|
DownloadURL="http://yourURLhere.com/RattailPalm.psi">
|
||||||
|
<Component Platform="PalmOS">
|
||||||
|
<File Filename="RattailPalm.prc" InstallToCard="OK" />
|
||||||
|
</Component>
|
||||||
|
</Product>
|
||||||
|
</PalmOSInstaller>
|
357
rsc/AppResources.xrd
Normal file
357
rsc/AppResources.xrd
Normal file
|
@ -0,0 +1,357 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
|
||||||
|
<PALMOS_RESOURCE_FILE>
|
||||||
|
|
||||||
|
<ALERT_RESOURCE RESOURCE_ID="1000">
|
||||||
|
<ALERT_TYPE> INFORMATION_ALERT </ALERT_TYPE>
|
||||||
|
<HELP_ID> 0 </HELP_ID>
|
||||||
|
<DEFAULT_BUTTON> 0 </DEFAULT_BUTTON>
|
||||||
|
<TITLE> "Testing Things" </TITLE>
|
||||||
|
<MESSAGE> "OMGWTFBBQ !!" </MESSAGE>
|
||||||
|
<BUTTONS>
|
||||||
|
<TEXT> "OK" </TEXT>
|
||||||
|
</BUTTONS>
|
||||||
|
</ALERT_RESOURCE>
|
||||||
|
|
||||||
|
<APP_ICON_BITMAP_RESOURCE RESOURCE_ID="1000" LOCALE="enUS" COMMENT="Large icons (1-2 and 8 bits)">
|
||||||
|
<BITMAPS>
|
||||||
|
<BITMAP>
|
||||||
|
<WIDTH> 22 </WIDTH>
|
||||||
|
<HEIGHT> 22 </HEIGHT>
|
||||||
|
<BIT_DEPTH> 1 </BIT_DEPTH>
|
||||||
|
<BITMAP_COMPRESSION> NONE </BITMAP_COMPRESSION>
|
||||||
|
<HAS_TRANSPARENCY> FALSE </HAS_TRANSPARENCY>
|
||||||
|
<HAS_COLOR_TABLE> FALSE </HAS_COLOR_TABLE>
|
||||||
|
<BITMAP_FILE> "./bitmaps/AppIcon_Large-1.bmp" </BITMAP_FILE>
|
||||||
|
</BITMAP>
|
||||||
|
<BITMAP>
|
||||||
|
<WIDTH> 22 </WIDTH>
|
||||||
|
<HEIGHT> 22 </HEIGHT>
|
||||||
|
<BIT_DEPTH> 2 </BIT_DEPTH>
|
||||||
|
<BITMAP_COMPRESSION> NONE </BITMAP_COMPRESSION>
|
||||||
|
<HAS_TRANSPARENCY> FALSE </HAS_TRANSPARENCY>
|
||||||
|
<HAS_COLOR_TABLE> FALSE </HAS_COLOR_TABLE>
|
||||||
|
<BITMAP_FILE> "./bitmaps/AppIcon_Large-2.bmp" </BITMAP_FILE>
|
||||||
|
</BITMAP>
|
||||||
|
<BITMAP>
|
||||||
|
<WIDTH> 22 </WIDTH>
|
||||||
|
<HEIGHT> 22 </HEIGHT>
|
||||||
|
<BIT_DEPTH> 8 </BIT_DEPTH>
|
||||||
|
<BITMAP_COMPRESSION> NONE </BITMAP_COMPRESSION>
|
||||||
|
<HAS_TRANSPARENCY> TRUE </HAS_TRANSPARENCY>
|
||||||
|
<TRANSPARENT_COLOR>
|
||||||
|
<INDEX> 0xD2 </INDEX>
|
||||||
|
</TRANSPARENT_COLOR>
|
||||||
|
<HAS_COLOR_TABLE> FALSE </HAS_COLOR_TABLE>
|
||||||
|
<BITMAP_FILE> "./bitmaps/AppIcon_Large-8.bmp" </BITMAP_FILE>
|
||||||
|
</BITMAP>
|
||||||
|
</BITMAPS>
|
||||||
|
</APP_ICON_BITMAP_RESOURCE>
|
||||||
|
|
||||||
|
<APP_ICON_BITMAP_RESOURCE RESOURCE_ID="1001" LOCALE="enUS" COMMENT="Small icons (1-2 and 8 bits)">
|
||||||
|
<BITMAPS>
|
||||||
|
<BITMAP>
|
||||||
|
<WIDTH> 15 </WIDTH>
|
||||||
|
<HEIGHT> 9 </HEIGHT>
|
||||||
|
<BIT_DEPTH> 1 </BIT_DEPTH>
|
||||||
|
<BITMAP_COMPRESSION> NONE </BITMAP_COMPRESSION>
|
||||||
|
<HAS_TRANSPARENCY> FALSE </HAS_TRANSPARENCY>
|
||||||
|
<HAS_COLOR_TABLE> FALSE </HAS_COLOR_TABLE>
|
||||||
|
<BITMAP_FILE> "./bitmaps/AppIcon_Small-1.bmp" </BITMAP_FILE>
|
||||||
|
</BITMAP>
|
||||||
|
<BITMAP>
|
||||||
|
<WIDTH> 15 </WIDTH>
|
||||||
|
<HEIGHT> 9 </HEIGHT>
|
||||||
|
<BIT_DEPTH> 2 </BIT_DEPTH>
|
||||||
|
<BITMAP_COMPRESSION> NONE </BITMAP_COMPRESSION>
|
||||||
|
<HAS_TRANSPARENCY> FALSE </HAS_TRANSPARENCY>
|
||||||
|
<HAS_COLOR_TABLE> FALSE </HAS_COLOR_TABLE>
|
||||||
|
<BITMAP_FILE> "./bitmaps/AppIcon_Small-2.bmp" </BITMAP_FILE>
|
||||||
|
</BITMAP>
|
||||||
|
<BITMAP>
|
||||||
|
<WIDTH> 15 </WIDTH>
|
||||||
|
<HEIGHT> 9 </HEIGHT>
|
||||||
|
<BIT_DEPTH> 8 </BIT_DEPTH>
|
||||||
|
<BITMAP_COMPRESSION> NONE </BITMAP_COMPRESSION>
|
||||||
|
<HAS_TRANSPARENCY> TRUE </HAS_TRANSPARENCY>
|
||||||
|
<TRANSPARENT_COLOR>
|
||||||
|
<INDEX> 0xCC </INDEX>
|
||||||
|
</TRANSPARENT_COLOR>
|
||||||
|
<HAS_COLOR_TABLE> FALSE </HAS_COLOR_TABLE>
|
||||||
|
<BITMAP_FILE> "./bitmaps/AppIcon_Small-8.bmp" </BITMAP_FILE>
|
||||||
|
</BITMAP>
|
||||||
|
</BITMAPS>
|
||||||
|
</APP_ICON_BITMAP_RESOURCE>
|
||||||
|
|
||||||
|
<APP_ICON_NAME_RESOURCE RESOURCE_ID="1000" LOCALE="enUS">
|
||||||
|
<TEXT> "Rattail" </TEXT>
|
||||||
|
</APP_ICON_NAME_RESOURCE>
|
||||||
|
|
||||||
|
<FORM_RESOURCE RESOURCE_ID="1000" LOCALE="enUS" COMMENT="Main">
|
||||||
|
<FORM_ID> 1000 </FORM_ID>
|
||||||
|
<BOUNDS>
|
||||||
|
<LEFT> 0 </LEFT>
|
||||||
|
<TOP> 0 </TOP>
|
||||||
|
<WIDTH> 160 </WIDTH>
|
||||||
|
<HEIGHT> 160 </HEIGHT>
|
||||||
|
</BOUNDS>
|
||||||
|
<USABLE> TRUE </USABLE>
|
||||||
|
<MODAL> FALSE </MODAL>
|
||||||
|
<SAVE_BEHIND> FALSE </SAVE_BEHIND>
|
||||||
|
<HELP_ID> 0 </HELP_ID>
|
||||||
|
<MENU_ID> 1000 </MENU_ID>
|
||||||
|
<DEFAULT_BUTTON> 0 </DEFAULT_BUTTON>
|
||||||
|
<TITLE_ICON> FALSE </TITLE_ICON>
|
||||||
|
<TITLE_BAR_FOCUSABLE> FALSE </TITLE_BAR_FOCUSABLE>
|
||||||
|
<FORM_OBJECTS>
|
||||||
|
<FORM_TITLE>
|
||||||
|
<TEXT> "Rattail" </TEXT>
|
||||||
|
</FORM_TITLE>
|
||||||
|
<FORM_FIELD COMMENT="Barcode">
|
||||||
|
<ID> 1000 </ID>
|
||||||
|
<BOUNDS>
|
||||||
|
<LEFT> 1 </LEFT>
|
||||||
|
<TOP> 148 </TOP>
|
||||||
|
<WIDTH> 75 </WIDTH>
|
||||||
|
<HEIGHT> 12 </HEIGHT>
|
||||||
|
</BOUNDS>
|
||||||
|
<USABLE> TRUE </USABLE>
|
||||||
|
<EDITABLE> TRUE </EDITABLE>
|
||||||
|
<SINGLE_LINE> TRUE </SINGLE_LINE>
|
||||||
|
<DYNAMIC_SIZE> FALSE </DYNAMIC_SIZE>
|
||||||
|
<UNDERLINE> SOLID_UNDERLINE </UNDERLINE>
|
||||||
|
<JUSTIFICATION> LEFT_ALIGN </JUSTIFICATION>
|
||||||
|
<AUTO_SHIFT> TRUE </AUTO_SHIFT>
|
||||||
|
<HAS_SCROLLBAR> FALSE </HAS_SCROLLBAR>
|
||||||
|
<NUMERIC> FALSE </NUMERIC>
|
||||||
|
<MAX_CHARS> 14 </MAX_CHARS>
|
||||||
|
<FONT_ID> STD_FONT </FONT_ID>
|
||||||
|
<MAX_VISIBLE_LINES> 0 </MAX_VISIBLE_LINES>
|
||||||
|
</FORM_FIELD>
|
||||||
|
<FORM_FIELD COMMENT="Units">
|
||||||
|
<ID> 1001 </ID>
|
||||||
|
<BOUNDS>
|
||||||
|
<LEFT> 140 </LEFT>
|
||||||
|
<TOP> 148 </TOP>
|
||||||
|
<WIDTH> 18 </WIDTH>
|
||||||
|
<HEIGHT> 12 </HEIGHT>
|
||||||
|
</BOUNDS>
|
||||||
|
<USABLE> TRUE </USABLE>
|
||||||
|
<EDITABLE> TRUE </EDITABLE>
|
||||||
|
<SINGLE_LINE> TRUE </SINGLE_LINE>
|
||||||
|
<DYNAMIC_SIZE> FALSE </DYNAMIC_SIZE>
|
||||||
|
<UNDERLINE> SOLID_UNDERLINE </UNDERLINE>
|
||||||
|
<JUSTIFICATION> RIGHT_ALIGN </JUSTIFICATION>
|
||||||
|
<AUTO_SHIFT> FALSE </AUTO_SHIFT>
|
||||||
|
<HAS_SCROLLBAR> FALSE </HAS_SCROLLBAR>
|
||||||
|
<NUMERIC> TRUE </NUMERIC>
|
||||||
|
<MAX_CHARS> 3 </MAX_CHARS>
|
||||||
|
<FONT_ID> STD_FONT </FONT_ID>
|
||||||
|
<MAX_VISIBLE_LINES> 0 </MAX_VISIBLE_LINES>
|
||||||
|
</FORM_FIELD>
|
||||||
|
<FORM_CHECKBOX COMMENT="StopOnUnits">
|
||||||
|
<ID> 1002 </ID>
|
||||||
|
<BOUNDS>
|
||||||
|
<LEFT> 123 </LEFT>
|
||||||
|
<TOP> 148 </TOP>
|
||||||
|
<WIDTH> 19 </WIDTH>
|
||||||
|
<HEIGHT> 12 </HEIGHT>
|
||||||
|
</BOUNDS>
|
||||||
|
<USABLE> TRUE </USABLE>
|
||||||
|
<ENABLED> TRUE </ENABLED>
|
||||||
|
<TEXT> "" </TEXT>
|
||||||
|
<FONT_ID> STD_FONT </FONT_ID>
|
||||||
|
<GROUP_ID> 0 </GROUP_ID>
|
||||||
|
<SELECTED> FALSE </SELECTED>
|
||||||
|
</FORM_CHECKBOX>
|
||||||
|
<FORM_FIELD COMMENT="Cases">
|
||||||
|
<ID> 1003 </ID>
|
||||||
|
<BOUNDS>
|
||||||
|
<LEFT> 99 </LEFT>
|
||||||
|
<TOP> 148 </TOP>
|
||||||
|
<WIDTH> 18 </WIDTH>
|
||||||
|
<HEIGHT> 12 </HEIGHT>
|
||||||
|
</BOUNDS>
|
||||||
|
<USABLE> TRUE </USABLE>
|
||||||
|
<EDITABLE> TRUE </EDITABLE>
|
||||||
|
<SINGLE_LINE> TRUE </SINGLE_LINE>
|
||||||
|
<DYNAMIC_SIZE> FALSE </DYNAMIC_SIZE>
|
||||||
|
<UNDERLINE> SOLID_UNDERLINE </UNDERLINE>
|
||||||
|
<JUSTIFICATION> RIGHT_ALIGN </JUSTIFICATION>
|
||||||
|
<AUTO_SHIFT> FALSE </AUTO_SHIFT>
|
||||||
|
<HAS_SCROLLBAR> FALSE </HAS_SCROLLBAR>
|
||||||
|
<NUMERIC> TRUE </NUMERIC>
|
||||||
|
<MAX_CHARS> 3 </MAX_CHARS>
|
||||||
|
<FONT_ID> STD_FONT </FONT_ID>
|
||||||
|
<MAX_VISIBLE_LINES> 0 </MAX_VISIBLE_LINES>
|
||||||
|
</FORM_FIELD>
|
||||||
|
<FORM_CHECKBOX COMMENT="StopOnUnits">
|
||||||
|
<ID> 1004 </ID>
|
||||||
|
<BOUNDS>
|
||||||
|
<LEFT> 82 </LEFT>
|
||||||
|
<TOP> 148 </TOP>
|
||||||
|
<WIDTH> 19 </WIDTH>
|
||||||
|
<HEIGHT> 12 </HEIGHT>
|
||||||
|
</BOUNDS>
|
||||||
|
<USABLE> TRUE </USABLE>
|
||||||
|
<ENABLED> TRUE </ENABLED>
|
||||||
|
<TEXT> "" </TEXT>
|
||||||
|
<FONT_ID> STD_FONT </FONT_ID>
|
||||||
|
<GROUP_ID> 0 </GROUP_ID>
|
||||||
|
<SELECTED> FALSE </SELECTED>
|
||||||
|
</FORM_CHECKBOX>
|
||||||
|
<FORM_TABLE COMMENT="ScanRecords">
|
||||||
|
<ID> 1005 </ID>
|
||||||
|
<BOUNDS>
|
||||||
|
<LEFT> 0 </LEFT>
|
||||||
|
<TOP> 16 </TOP>
|
||||||
|
<WIDTH> 153 </WIDTH>
|
||||||
|
<HEIGHT> 120 </HEIGHT>
|
||||||
|
</BOUNDS>
|
||||||
|
<EDITABLE> FALSE </EDITABLE>
|
||||||
|
<TABLE_COLUMNS>
|
||||||
|
<COLUMN_WIDTH> 80 </COLUMN_WIDTH>
|
||||||
|
<COLUMN_WIDTH> 30 </COLUMN_WIDTH>
|
||||||
|
<COLUMN_WIDTH> 30 </COLUMN_WIDTH>
|
||||||
|
</TABLE_COLUMNS>
|
||||||
|
<TABLE_ROWS>
|
||||||
|
<ROW_HEIGHT> 10 </ROW_HEIGHT>
|
||||||
|
<ROW_HEIGHT> 10 </ROW_HEIGHT>
|
||||||
|
<ROW_HEIGHT> 10 </ROW_HEIGHT>
|
||||||
|
<ROW_HEIGHT> 10 </ROW_HEIGHT>
|
||||||
|
<ROW_HEIGHT> 10 </ROW_HEIGHT>
|
||||||
|
<ROW_HEIGHT> 10 </ROW_HEIGHT>
|
||||||
|
<ROW_HEIGHT> 10 </ROW_HEIGHT>
|
||||||
|
<ROW_HEIGHT> 10 </ROW_HEIGHT>
|
||||||
|
<ROW_HEIGHT> 10 </ROW_HEIGHT>
|
||||||
|
<ROW_HEIGHT> 10 </ROW_HEIGHT>
|
||||||
|
<ROW_HEIGHT> 10 </ROW_HEIGHT>
|
||||||
|
<ROW_HEIGHT> 10 </ROW_HEIGHT>
|
||||||
|
</TABLE_ROWS>
|
||||||
|
</FORM_TABLE>
|
||||||
|
<FORM_SCROLLBAR COMMENT="Scroller">
|
||||||
|
<ID> 1006 </ID>
|
||||||
|
<BOUNDS>
|
||||||
|
<LEFT> 153 </LEFT>
|
||||||
|
<TOP> 16 </TOP>
|
||||||
|
<WIDTH> 7 </WIDTH>
|
||||||
|
<HEIGHT> 120 </HEIGHT>
|
||||||
|
</BOUNDS>
|
||||||
|
<USABLE> TRUE </USABLE>
|
||||||
|
<VALUE> 0 </VALUE>
|
||||||
|
<MIN_VALUE> 0 </MIN_VALUE>
|
||||||
|
<MAX_VALUE> 0 </MAX_VALUE>
|
||||||
|
<PAGE_SIZE> 11 </PAGE_SIZE>
|
||||||
|
</FORM_SCROLLBAR>
|
||||||
|
</FORM_OBJECTS>
|
||||||
|
</FORM_RESOURCE>
|
||||||
|
|
||||||
|
<FORM_RESOURCE RESOURCE_ID="1100" LOCALE="enUS" COMMENT="About">
|
||||||
|
<FORM_ID> 1100 </FORM_ID>
|
||||||
|
<BOUNDS>
|
||||||
|
<LEFT> 2 </LEFT>
|
||||||
|
<TOP> 2 </TOP>
|
||||||
|
<WIDTH> 156 </WIDTH>
|
||||||
|
<HEIGHT> 156 </HEIGHT>
|
||||||
|
</BOUNDS>
|
||||||
|
<USABLE> TRUE </USABLE>
|
||||||
|
<MODAL> TRUE </MODAL>
|
||||||
|
<SAVE_BEHIND> TRUE </SAVE_BEHIND>
|
||||||
|
<HELP_ID> 0 </HELP_ID>
|
||||||
|
<MENU_ID> 0 </MENU_ID>
|
||||||
|
<DEFAULT_BUTTON> 0 </DEFAULT_BUTTON>
|
||||||
|
<TITLE_ICON> FALSE </TITLE_ICON>
|
||||||
|
<TITLE_BAR_FOCUSABLE> FALSE </TITLE_BAR_FOCUSABLE>
|
||||||
|
<FORM_OBJECTS>
|
||||||
|
<FORM_TITLE>
|
||||||
|
<TEXT> "About Rattail" </TEXT>
|
||||||
|
</FORM_TITLE>
|
||||||
|
<FORM_LABEL COMMENT="Title">
|
||||||
|
<ID> 1102 </ID>
|
||||||
|
<LOCATION>
|
||||||
|
<X> 38 </X>
|
||||||
|
<Y> 27 </Y>
|
||||||
|
</LOCATION>
|
||||||
|
<USABLE> TRUE </USABLE>
|
||||||
|
<FONT_ID> LARGE_BOLD_FONT </FONT_ID>
|
||||||
|
<TEXT> "Rattail for Palm" </TEXT>
|
||||||
|
</FORM_LABEL>
|
||||||
|
<FORM_LABEL COMMENT="Text1">
|
||||||
|
<ID> 1103 </ID>
|
||||||
|
<LOCATION>
|
||||||
|
<X> 16 </X>
|
||||||
|
<Y> 78 </Y>
|
||||||
|
</LOCATION>
|
||||||
|
<USABLE> TRUE </USABLE>
|
||||||
|
<FONT_ID> STD_FONT </FONT_ID>
|
||||||
|
<TEXT> "Copyright © 2012 Lance Edgar" </TEXT>
|
||||||
|
</FORM_LABEL>
|
||||||
|
<FORM_LABEL COMMENT="Text2">
|
||||||
|
<ID> 1104 </ID>
|
||||||
|
<LOCATION>
|
||||||
|
<X> 50 </X>
|
||||||
|
<Y> 53 </Y>
|
||||||
|
</LOCATION>
|
||||||
|
<USABLE> TRUE </USABLE>
|
||||||
|
<FONT_ID> BOLD_FONT </FONT_ID>
|
||||||
|
<TEXT> "Version 1.0" </TEXT>
|
||||||
|
</FORM_LABEL>
|
||||||
|
<FORM_BUTTON COMMENT="OK">
|
||||||
|
<ID> 1105 </ID>
|
||||||
|
<BOUNDS>
|
||||||
|
<LEFT> 58 </LEFT>
|
||||||
|
<TOP> 139 </TOP>
|
||||||
|
<WIDTH> 40 </WIDTH>
|
||||||
|
<HEIGHT> 12 </HEIGHT>
|
||||||
|
</BOUNDS>
|
||||||
|
<USABLE> TRUE </USABLE>
|
||||||
|
<ENABLED> TRUE </ENABLED>
|
||||||
|
<TEXT> "OK" </TEXT>
|
||||||
|
<LEFT_ANCHOR> TRUE </LEFT_ANCHOR>
|
||||||
|
<FONT_ID> STD_FONT </FONT_ID>
|
||||||
|
<BUTTON_FRAME> STANDARD_BUTTON_FRAME </BUTTON_FRAME>
|
||||||
|
</FORM_BUTTON>
|
||||||
|
<FORM_LABEL>
|
||||||
|
<ID> 1000 </ID>
|
||||||
|
<LOCATION>
|
||||||
|
<X> 26 </X>
|
||||||
|
<Y> 105 </Y>
|
||||||
|
</LOCATION>
|
||||||
|
<USABLE> TRUE </USABLE>
|
||||||
|
<FONT_ID> STD_FONT </FONT_ID>
|
||||||
|
<TEXT> "http://rattail.edbob.org/" </TEXT>
|
||||||
|
</FORM_LABEL>
|
||||||
|
</FORM_OBJECTS>
|
||||||
|
</FORM_RESOURCE>
|
||||||
|
|
||||||
|
<MENU_BAR_RESOURCE RESOURCE_ID="1000" LOCALE="enUS" COMMENT="Main Form">
|
||||||
|
<VISIBLE> TRUE </VISIBLE>
|
||||||
|
<MENUS>
|
||||||
|
<MENU COMMENT="MainOptions">
|
||||||
|
<TITLE> "Options" </TITLE>
|
||||||
|
<HIDDEN> FALSE </HIDDEN>
|
||||||
|
<BOUNDS>
|
||||||
|
<LEFT> 6 </LEFT>
|
||||||
|
<TOP> 14 </TOP>
|
||||||
|
<WIDTH> 100 </WIDTH>
|
||||||
|
<HEIGHT> 11 </HEIGHT>
|
||||||
|
</BOUNDS>
|
||||||
|
<TITLE_BOUNDS>
|
||||||
|
<LEFT> 4 </LEFT>
|
||||||
|
<TOP> 0 </TOP>
|
||||||
|
<WIDTH> 47 </WIDTH>
|
||||||
|
<HEIGHT> 12 </HEIGHT>
|
||||||
|
</TITLE_BOUNDS>
|
||||||
|
<MENU_ITEMS>
|
||||||
|
<MENU_ITEM>
|
||||||
|
<ID> 1000 </ID>
|
||||||
|
<TITLE> "About Rattail" </TITLE>
|
||||||
|
<COMMAND> "" </COMMAND>
|
||||||
|
<HIDDEN> FALSE </HIDDEN>
|
||||||
|
</MENU_ITEM>
|
||||||
|
</MENU_ITEMS>
|
||||||
|
</MENU>
|
||||||
|
</MENUS>
|
||||||
|
</MENU_BAR_RESOURCE>
|
||||||
|
|
||||||
|
</PALMOS_RESOURCE_FILE>
|
BIN
rsc/bitmaps/AppIcon_Large-1.bmp
Normal file
BIN
rsc/bitmaps/AppIcon_Large-1.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 150 B |
BIN
rsc/bitmaps/AppIcon_Large-2.bmp
Normal file
BIN
rsc/bitmaps/AppIcon_Large-2.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 382 B |
BIN
rsc/bitmaps/AppIcon_Large-8.bmp
Normal file
BIN
rsc/bitmaps/AppIcon_Large-8.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.6 KiB |
BIN
rsc/bitmaps/AppIcon_Small-1.bmp
Normal file
BIN
rsc/bitmaps/AppIcon_Small-1.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 98 B |
BIN
rsc/bitmaps/AppIcon_Small-2.bmp
Normal file
BIN
rsc/bitmaps/AppIcon_Small-2.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 190 B |
BIN
rsc/bitmaps/AppIcon_Small-8.bmp
Normal file
BIN
rsc/bitmaps/AppIcon_Small-8.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
962
src/AppMain.c
Normal file
962
src/AppMain.c
Normal file
|
@ -0,0 +1,962 @@
|
||||||
|
/******************************************************************************
|
||||||
|
*
|
||||||
|
* Copyright (c) 2007, ACCESS Systems Americas, Inc. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* File: AppMain.c
|
||||||
|
*
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
#include <PalmOS.h>
|
||||||
|
|
||||||
|
// BCS2 Scanner
|
||||||
|
#include "BCS2ScannerLib.h"
|
||||||
|
|
||||||
|
// Janam Scanner
|
||||||
|
#include "JanamScnCompatible.h"
|
||||||
|
#include "ScanMgr.h"
|
||||||
|
|
||||||
|
// Rattail App
|
||||||
|
#include "AppResources.h"
|
||||||
|
#include "AppMain.h"
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
*
|
||||||
|
* Entry Points
|
||||||
|
*
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
*
|
||||||
|
* Internal Constants
|
||||||
|
*
|
||||||
|
***********************************************************************/
|
||||||
|
#define appFileCreator 'RTTL' // register your own at http://www.palmos.com/dev/creatorid/
|
||||||
|
#define appVersionNum 0x01
|
||||||
|
#define appPrefID 0x00
|
||||||
|
#define appPrefVersionNum 0x01
|
||||||
|
#define appDbRattail "Rattail"
|
||||||
|
#define appDbRattailScan "Rattail_Scan"
|
||||||
|
|
||||||
|
#define COLUMN_BARCODE 0
|
||||||
|
#define COLUMN_CASES 1
|
||||||
|
#define COLUMN_UNITS 2
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
*
|
||||||
|
* Global Variables
|
||||||
|
*
|
||||||
|
***********************************************************************/
|
||||||
|
UInt16 cardNo = 0;
|
||||||
|
UInt16 gBcs2RefNum = 0;
|
||||||
|
Boolean gBabbo = false;
|
||||||
|
//UInt16 gNumCols = 3;
|
||||||
|
//UInt16 gNumRows = 11;
|
||||||
|
//MemHandle gHandles[11][3];
|
||||||
|
Int16 gTopVisibleRecord = -1;
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: AppHandleEvent
|
||||||
|
*
|
||||||
|
* DESCRIPTION: This routine loads form resources and set the event
|
||||||
|
* handler for the form loaded.
|
||||||
|
*
|
||||||
|
* PARAMETERS: event - a pointer to an EventType structure
|
||||||
|
*
|
||||||
|
* RETURNED: true if the event has handle and should not be passed
|
||||||
|
* to a higher level handler.
|
||||||
|
*
|
||||||
|
* REVISION HISTORY:
|
||||||
|
*
|
||||||
|
*
|
||||||
|
***********************************************************************/
|
||||||
|
static Boolean AppHandleEvent(EventType* pEvent)
|
||||||
|
{
|
||||||
|
UInt16 formId;
|
||||||
|
FormType* pForm;
|
||||||
|
Boolean handled = false;
|
||||||
|
|
||||||
|
if (pEvent->eType == frmLoadEvent) {
|
||||||
|
// Load the form resource.
|
||||||
|
formId = pEvent->data.frmLoad.formID;
|
||||||
|
|
||||||
|
pForm = FrmInitForm(formId);
|
||||||
|
FrmSetActiveForm(pForm);
|
||||||
|
|
||||||
|
// Set the event handler for the form. The handler of the currently
|
||||||
|
// active form is called by FrmHandleEvent each time is receives an
|
||||||
|
// event.
|
||||||
|
switch (formId) {
|
||||||
|
case MainForm:
|
||||||
|
FrmSetEventHandler(pForm, MainFormHandleEvent);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
handled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return handled;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: AppStart
|
||||||
|
*
|
||||||
|
* DESCRIPTION: Get the current application's preferences.
|
||||||
|
*
|
||||||
|
* PARAMETERS: nothing
|
||||||
|
*
|
||||||
|
* RETURNED: Err value errNone if nothing went wrong
|
||||||
|
*
|
||||||
|
* REVISION HISTORY:
|
||||||
|
*
|
||||||
|
*
|
||||||
|
***********************************************************************/
|
||||||
|
static Err AppStart(void)
|
||||||
|
{
|
||||||
|
OpenBCS2Scanner();
|
||||||
|
//OpenBabboScanner();
|
||||||
|
|
||||||
|
FrmGotoForm(MainForm);
|
||||||
|
return errNone;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: AppStop
|
||||||
|
*
|
||||||
|
* DESCRIPTION: Save the current state of the application.
|
||||||
|
*
|
||||||
|
* PARAMETERS: nothing
|
||||||
|
*
|
||||||
|
* RETURNED: nothing
|
||||||
|
*
|
||||||
|
***********************************************************************/
|
||||||
|
static void AppStop(void)
|
||||||
|
{
|
||||||
|
CloseBCS2Scanner();
|
||||||
|
//CloseBabboScanner();
|
||||||
|
|
||||||
|
FrmCloseAllForms();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: AppEventLoop
|
||||||
|
*
|
||||||
|
* DESCRIPTION: This routine is the event loop for the application.
|
||||||
|
*
|
||||||
|
* PARAMETERS: nothing
|
||||||
|
*
|
||||||
|
* RETURNED: nothing
|
||||||
|
*
|
||||||
|
* REVISION HISTORY:
|
||||||
|
*
|
||||||
|
*
|
||||||
|
***********************************************************************/
|
||||||
|
static void AppEventLoop(void)
|
||||||
|
{
|
||||||
|
Err error;
|
||||||
|
EventType event;
|
||||||
|
|
||||||
|
do {
|
||||||
|
EvtGetEvent(&event, evtWaitForever);
|
||||||
|
|
||||||
|
if (SysHandleEvent(&event))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (MenuHandleEvent(0, &event, &error))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (AppHandleEvent(&event))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
FrmDispatchEvent(&event);
|
||||||
|
|
||||||
|
} while (event.eType != appStopEvent);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: CloseBabboScanner
|
||||||
|
*
|
||||||
|
***********************************************************************/
|
||||||
|
/*
|
||||||
|
static void CloseBabboScanner()
|
||||||
|
{
|
||||||
|
if (! gBabbo)
|
||||||
|
return;
|
||||||
|
|
||||||
|
ScnCmdScanDisable();
|
||||||
|
ScnCloseDecoder();
|
||||||
|
gBabbo = false;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: CloseBCS2Scanner
|
||||||
|
*
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
static void CloseBCS2Scanner()
|
||||||
|
{
|
||||||
|
LocalID dbId;
|
||||||
|
|
||||||
|
if (! gBcs2RefNum)
|
||||||
|
return;
|
||||||
|
|
||||||
|
dbId = DmFindDatabase(cardNo, appDbRattail);
|
||||||
|
if (dbId)
|
||||||
|
SysNotifyUnregister(cardNo, dbId, BCS2BarCodeReadyNotification,
|
||||||
|
sysNotifyNormalPriority);
|
||||||
|
BCS2LibClose(gBcs2RefNum);
|
||||||
|
SysLibRemove(gBcs2RefNum);
|
||||||
|
gBcs2RefNum = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: CreateScanDatabase
|
||||||
|
*
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
static DmOpenRef CreateScanDatabase()
|
||||||
|
{
|
||||||
|
Err err;
|
||||||
|
LocalID dbId;
|
||||||
|
UInt16 attrs, version;
|
||||||
|
DmOpenRef db;
|
||||||
|
|
||||||
|
err = DmCreateDatabase(cardNo, appDbRattailScan, appFileCreator, 'SCAN', false);
|
||||||
|
if (err != errNone)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
dbId = DmFindDatabase(cardNo, appDbRattailScan);
|
||||||
|
if (dbId == 0)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
// Set backup flag, version for database.
|
||||||
|
attrs = dmHdrAttrBackup;
|
||||||
|
version = 1;
|
||||||
|
DmSetDatabaseInfo(cardNo, dbId, NULL, &attrs, &version, NULL,
|
||||||
|
NULL, NULL, NULL, NULL, NULL, NULL, NULL);
|
||||||
|
|
||||||
|
db = DmOpenDatabase(cardNo, dbId, dmModeWrite);
|
||||||
|
if (db == 0)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
return db;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: DrawCustomTableItem
|
||||||
|
*
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
static void DrawCustomTableItem(void* table, Int16 row, Int16 col, RectangleType* bounds)
|
||||||
|
{
|
||||||
|
Char * text;
|
||||||
|
UInt16 size;
|
||||||
|
Coord x;
|
||||||
|
|
||||||
|
text = (Char *) TblGetItemPtr(table, row, col);
|
||||||
|
if (*text != 0) {
|
||||||
|
size = StrLen(text);
|
||||||
|
|
||||||
|
if (col == 0) { // barcode
|
||||||
|
WinDrawChars(text, size, bounds->topLeft.x, bounds->topLeft.y);
|
||||||
|
|
||||||
|
} else { // cases or units
|
||||||
|
|
||||||
|
// Only draw value if nonzero.
|
||||||
|
if (StrCompareAscii(text, "0") != 0) {
|
||||||
|
|
||||||
|
// Draw value right-aligned.
|
||||||
|
x = bounds->topLeft.x + bounds->extent.x - FntCharsWidth(text, size);
|
||||||
|
WinDrawChars(text, size, x, bounds->topLeft.y);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: GetActiveFieldId
|
||||||
|
*
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
static UInt16 GetActiveFieldId(FormPtr form)
|
||||||
|
{
|
||||||
|
FieldPtr field;
|
||||||
|
UInt16 index;
|
||||||
|
|
||||||
|
field = FrmGetActiveField(form);
|
||||||
|
if (field == NULL) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
index = FrmGetObjectIndexFromPtr(form, field);
|
||||||
|
if (index == frmInvalidObjectId) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return FrmGetObjectId(form, index);
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: GetCheckedValue
|
||||||
|
*
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
static Int16 GetCheckedValue(UInt16 objId)
|
||||||
|
{
|
||||||
|
FormPtr form;
|
||||||
|
ControlPtr check;
|
||||||
|
|
||||||
|
form = FrmGetActiveForm();
|
||||||
|
check = GetObjectPtrById(form, objId);
|
||||||
|
if (check == NULL) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return CtlGetValue(check);
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: GetObjectPtrById
|
||||||
|
*
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
static void *GetObjectPtrById(FormPtr form, UInt16 objId)
|
||||||
|
{
|
||||||
|
UInt16 index;
|
||||||
|
|
||||||
|
index = FrmGetObjectIndex(form, objId);
|
||||||
|
if (index == frmInvalidObjectId) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return FrmGetObjectPtr(form, index);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: MainFormDoCommand
|
||||||
|
*
|
||||||
|
* DESCRIPTION: This routine performs the menu command specified.
|
||||||
|
*
|
||||||
|
* PARAMETERS: command - menu item id
|
||||||
|
*
|
||||||
|
* RETURNED: nothing
|
||||||
|
*
|
||||||
|
* REVISION HISTORY:
|
||||||
|
*
|
||||||
|
*
|
||||||
|
***********************************************************************/
|
||||||
|
static Boolean MainFormDoCommand(UInt16 command)
|
||||||
|
{
|
||||||
|
Boolean handled = false;
|
||||||
|
FormType * pForm;
|
||||||
|
|
||||||
|
switch (command) {
|
||||||
|
case MainOptionsAboutStarterApp:
|
||||||
|
pForm = FrmInitForm(AboutForm);
|
||||||
|
FrmDoDialog(pForm); // Display the About Box.
|
||||||
|
FrmDeleteForm(pForm);
|
||||||
|
handled = true;
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return handled;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: MainFormHandleEvent
|
||||||
|
*
|
||||||
|
* DESCRIPTION: This routine is the event handler for the
|
||||||
|
* "MainForm" of this application.
|
||||||
|
*
|
||||||
|
* PARAMETERS: pEvent - a pointer to an EventType structure
|
||||||
|
*
|
||||||
|
* RETURNED: true if the event has handle and should not be passed
|
||||||
|
* to a higher level handler.
|
||||||
|
*
|
||||||
|
* REVISION HISTORY:
|
||||||
|
*
|
||||||
|
*
|
||||||
|
***********************************************************************/
|
||||||
|
static Boolean MainFormHandleEvent(EventPtr event)
|
||||||
|
{
|
||||||
|
Boolean handled = false;
|
||||||
|
FormPtr form;
|
||||||
|
TablePtr table;
|
||||||
|
UInt16 objId;
|
||||||
|
|
||||||
|
switch (event->eType) {
|
||||||
|
|
||||||
|
case frmOpenEvent:
|
||||||
|
form = FrmGetActiveForm();
|
||||||
|
MainFormInit(form);
|
||||||
|
FrmDrawForm(form);
|
||||||
|
handled = true;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case menuEvent:
|
||||||
|
handled = MainFormDoCommand(event->data.menu.itemID);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case sclRepeatEvent:
|
||||||
|
if (event->data.sclRepeat.newValue > event->data.sclRepeat.value)
|
||||||
|
gTopVisibleRecord += (event->data.sclRepeat.newValue - event->data.sclRepeat.value);
|
||||||
|
else {
|
||||||
|
gTopVisibleRecord -= (event->data.sclRepeat.value - event->data.sclRepeat.newValue);
|
||||||
|
}
|
||||||
|
form = FrmGetActiveForm();
|
||||||
|
table = GetObjectPtrById(form, MainFormScanRecords);
|
||||||
|
MainFormLoadTable(table, false);
|
||||||
|
TblRedrawTable(table);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case keyDownEvent:
|
||||||
|
form = FrmGetActiveForm();
|
||||||
|
|
||||||
|
// Pressing the ENTER (line feed) key will either advance focus
|
||||||
|
// to the next quantity field marked to be stopped upon, or else
|
||||||
|
// will validate and store the current data as a new scan record.
|
||||||
|
if (event->data.keyDown.chr == 10) { // line feed (ENTER)
|
||||||
|
objId = GetActiveFieldId(form);
|
||||||
|
if (objId == MainFormBarcode) {
|
||||||
|
ProcessScan();
|
||||||
|
} else if (objId == MainFormCases) {
|
||||||
|
if (GetCheckedValue(MainFormStopOnUnits)) {
|
||||||
|
SetFieldFocus(MainFormUnits);
|
||||||
|
} else {
|
||||||
|
StoreScanData();
|
||||||
|
}
|
||||||
|
} else if (objId == MainFormUnits) {
|
||||||
|
StoreScanData();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Until I have more to go on, I'm assuming that if a handheld has
|
||||||
|
// a BCS2-capable scanner, then it is an Aceeca Meazura, and that its
|
||||||
|
// "center" navigational (hardware) key should be used as the scan
|
||||||
|
// trigger.
|
||||||
|
} else if (event->data.keyDown.chr == MzVCentreKey) {
|
||||||
|
if (gBcs2RefNum) {
|
||||||
|
if (FrmGetFocus(form) == FrmGetObjectIndex(form, MainFormBarcode))
|
||||||
|
BCS2LibTriggerOn(gBcs2RefNum);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
// Handle Babbo key
|
||||||
|
} else if ((event->data.keyDown.chr & vchrScanKey &&
|
||||||
|
(event->data.keyDown.keyCode == scanBitHard1)) ||
|
||||||
|
((event->data.keyDown.chr & vchrScanKey) &&
|
||||||
|
(event->data.keyDown.keyCode == scanBitHard2))) {
|
||||||
|
if (gBabbo) {
|
||||||
|
if (ScnCmdStartDecode() != STATUS_OK) {
|
||||||
|
SysFatalAlert("Start decode failed!");
|
||||||
|
}
|
||||||
|
handled = true;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
/*
|
||||||
|
// This event is passed by Babbo scanners (Janam handhelds).
|
||||||
|
case scanDecodeEvent:
|
||||||
|
if (gBabbo) { // just to be sure?
|
||||||
|
if (ScnCmdBeep(One_Short_Low) != STATUS_OK) {
|
||||||
|
SysFatalAlert("Beep failed!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
*/
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return handled;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: MainFormInit
|
||||||
|
*
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
static void MainFormInit(FormPtr form)
|
||||||
|
{
|
||||||
|
TablePtr table;
|
||||||
|
Int16 cols, col, rows, row;
|
||||||
|
UInt16 index;
|
||||||
|
ControlPtr ctrl;
|
||||||
|
|
||||||
|
table = GetObjectPtrById(form, MainFormScanRecords);
|
||||||
|
//TblHasScrollBar(table, true);
|
||||||
|
|
||||||
|
cols = TblGetNumberOfColumns(table);
|
||||||
|
rows = TblGetNumberOfRows(table);
|
||||||
|
for (col = 0; col < cols; col++) {
|
||||||
|
TblSetCustomDrawProcedure(table, col, DrawCustomTableItem);
|
||||||
|
TblSetColumnUsable(table, col, true);
|
||||||
|
for (row = 0; row < rows; row++) {
|
||||||
|
TblSetItemStyle(table, row, col, customTableItem);
|
||||||
|
TblSetRowUsable(table, row, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
MainFormLoadTable(table, true);
|
||||||
|
TblRedrawTable(table);
|
||||||
|
|
||||||
|
index = FrmGetObjectIndex(form, MainFormCases);
|
||||||
|
ctrl = FrmGetObjectPtr(form, index);
|
||||||
|
FldInsert((FieldPtr) ctrl, "0", 1);
|
||||||
|
|
||||||
|
// Unit quantity field is "stoppable" by default, unless the scanner is
|
||||||
|
// BCS2-capable, in which case I assume the handheld is an Aceeca Meazura
|
||||||
|
// model. Since this model doesn't have numeric keys, I figure it can't
|
||||||
|
// really support counting (yet?).
|
||||||
|
if (! gBcs2RefNum) {
|
||||||
|
index = FrmGetObjectIndex(form, MainFormStopOnUnits);
|
||||||
|
ctrl = FrmGetObjectPtr(form, index);
|
||||||
|
CtlSetValue(ctrl, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
index = FrmGetObjectIndex(form, MainFormUnits);
|
||||||
|
ctrl = FrmGetObjectPtr(form, index);
|
||||||
|
FldInsert((FieldPtr) ctrl, "1", 1);
|
||||||
|
|
||||||
|
index = FrmGetObjectIndex(form, MainFormBarcode);
|
||||||
|
FrmSetFocus(form, index);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: MainFormLoadTable
|
||||||
|
*
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
static void MainFormLoadTable(TablePtr table, Boolean updateScroll)
|
||||||
|
{
|
||||||
|
DmOpenRef db;
|
||||||
|
UInt16 numRecords;
|
||||||
|
MemHandle recordH;
|
||||||
|
RatScanDbRecord* recordP;
|
||||||
|
UInt16 rows, row, rowId;
|
||||||
|
FormPtr form;
|
||||||
|
ScrollBarPtr scroll;
|
||||||
|
|
||||||
|
db = OpenScanDatabase();
|
||||||
|
if (db == NULL)
|
||||||
|
return;
|
||||||
|
|
||||||
|
numRecords = DmNumRecords(db);
|
||||||
|
rows = (numRecords < 12) ? numRecords : 12;
|
||||||
|
if (gTopVisibleRecord < 0)
|
||||||
|
gTopVisibleRecord = (numRecords > 12) ? (numRecords - 12) : 0;
|
||||||
|
|
||||||
|
for (row = 0; row < rows; row++) {
|
||||||
|
rowId = gTopVisibleRecord + row;
|
||||||
|
recordH = DmGetRecord(db, rowId);
|
||||||
|
recordP = (MemPtr) MemHandleLock(recordH);
|
||||||
|
TblSetItemPtr(table, row, 0, &recordP->barcode);
|
||||||
|
if (StrCompareAscii(recordP->cases, "0") != 0)
|
||||||
|
TblSetItemPtr(table, row, 1, &recordP->cases);
|
||||||
|
else
|
||||||
|
TblSetItemPtr(table, row, 1, "");
|
||||||
|
if (StrCompareAscii(recordP->units, "0") != 0)
|
||||||
|
TblSetItemPtr(table, row, 2, &recordP->units);
|
||||||
|
else
|
||||||
|
TblSetItemPtr(table, row, 2, "");
|
||||||
|
MemHandleUnlock(recordH);
|
||||||
|
DmReleaseRecord(db, rowId, false);
|
||||||
|
TblSetRowID(table, row, rowId);
|
||||||
|
TblSetRowUsable(table, row, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
DmCloseDatabase(db);
|
||||||
|
TblMarkTableInvalid(table);
|
||||||
|
|
||||||
|
if (updateScroll) {
|
||||||
|
form = FrmGetActiveForm();
|
||||||
|
scroll = GetObjectPtrById(form, MainFormScroller);
|
||||||
|
if (numRecords <= 12)
|
||||||
|
SclSetScrollBar(scroll, 0, 0, 0, 0);
|
||||||
|
else
|
||||||
|
SclSetScrollBar(scroll, gTopVisibleRecord, 0, numRecords - 12, 11);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: OpenBabboScanner
|
||||||
|
*
|
||||||
|
***********************************************************************/
|
||||||
|
/*
|
||||||
|
static Boolean OpenBabboScanner()
|
||||||
|
{
|
||||||
|
Err err;
|
||||||
|
|
||||||
|
if (! ScnIsJanamUnit()) {
|
||||||
|
SysFatalAlert("Not a Janam unit!");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
err = ScnOpenDecoder();
|
||||||
|
if (err) {
|
||||||
|
SysFatalAlert("Open decoder failed!");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ScnCmdScanEnable() != STATUS_OK) {
|
||||||
|
SysFatalAlert("Enable scanner failed!");
|
||||||
|
ScnCloseDecoder();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
gBabbo = true;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: OpenBCS2Scanner
|
||||||
|
*
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
static Boolean OpenBCS2Scanner()
|
||||||
|
{
|
||||||
|
Err err;
|
||||||
|
LocalID dbId;
|
||||||
|
|
||||||
|
err = SysLibLoad('libr', 'BcAp', &gBcs2RefNum);
|
||||||
|
if (err) {
|
||||||
|
/*
|
||||||
|
switch (err) {
|
||||||
|
case sysErrLibNotFound:
|
||||||
|
SysFatalAlert("BCS2 library not found!");
|
||||||
|
break;
|
||||||
|
case sysErrNoFreeRAM:
|
||||||
|
SysFatalAlert("Out of memory (RAM)!");
|
||||||
|
break;
|
||||||
|
case sysErrNoFreeLibSlots:
|
||||||
|
SysFatalAlert("No free library slots!");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
SysFatalAlert("BCS2 library load failed!");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
gBcs2RefNum = 0;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
err = BCS2LibOpen(gBcs2RefNum);
|
||||||
|
if (err) {
|
||||||
|
/*
|
||||||
|
switch (err) {
|
||||||
|
case errBCS2MemoryError:
|
||||||
|
SysFatalAlert("BCS2 threw memory error");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
SysFatalAlert("BCS2 library open failed!");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
SysLibRemove(gBcs2RefNum);
|
||||||
|
gBcs2RefNum = 0;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
dbId = DmFindDatabase(cardNo, appDbRattail);
|
||||||
|
if (! dbId) {
|
||||||
|
/*
|
||||||
|
SysFatalAlert("Find database failed!");
|
||||||
|
*/
|
||||||
|
SysLibRemove(gBcs2RefNum);
|
||||||
|
gBcs2RefNum = 0;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
err = SysNotifyRegister(cardNo, dbId,
|
||||||
|
BCS2BarCodeReadyNotification, NULL,
|
||||||
|
sysNotifyNormalPriority, NULL);
|
||||||
|
if (err != errNone) {
|
||||||
|
/*
|
||||||
|
SysFatalAlert("Notify registration failed!");
|
||||||
|
*/
|
||||||
|
SysLibRemove(gBcs2RefNum);
|
||||||
|
gBcs2RefNum = 0;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: OpenScanDatabase
|
||||||
|
*
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
static DmOpenRef OpenScanDatabase()
|
||||||
|
{
|
||||||
|
LocalID dbId;
|
||||||
|
DmOpenRef db;
|
||||||
|
|
||||||
|
dbId = DmFindDatabase(cardNo, appDbRattailScan);
|
||||||
|
if (dbId == 0)
|
||||||
|
return CreateScanDatabase();
|
||||||
|
|
||||||
|
db = DmOpenDatabase(cardNo, dbId, dmModeWrite);
|
||||||
|
if (db == 0)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
return db;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: ProcessScan
|
||||||
|
*
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
static void ProcessScan()
|
||||||
|
{
|
||||||
|
if (GetCheckedValue(MainFormStopOnCases)) {
|
||||||
|
SetFieldFocus(MainFormCases);
|
||||||
|
} else if (GetCheckedValue(MainFormStopOnUnits)) {
|
||||||
|
SetFieldFocus(MainFormUnits);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: SetFieldFocus
|
||||||
|
*
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
static void SetFieldFocus(UInt16 objId)
|
||||||
|
{
|
||||||
|
FormPtr form;
|
||||||
|
UInt16 index;
|
||||||
|
FieldPtr field;
|
||||||
|
|
||||||
|
form = FrmGetActiveForm();
|
||||||
|
if (form == NULL) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
index = FrmGetObjectIndex(form, objId);
|
||||||
|
if (index == frmInvalidObjectId) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
field = FrmGetObjectPtr(form, index);
|
||||||
|
FldSetSelection(field, 0, FldGetTextLength(field));
|
||||||
|
FrmSetFocus(form, index);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: StoreScanData
|
||||||
|
*
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
static Boolean StoreScanData()
|
||||||
|
{
|
||||||
|
FormPtr form;
|
||||||
|
FieldPtr barcode, cases, units;
|
||||||
|
UInt16 fieldIndex;
|
||||||
|
UInt32 size, offset;
|
||||||
|
DmOpenRef db;
|
||||||
|
UInt16 recordIndex;
|
||||||
|
MemHandle recordH;
|
||||||
|
MemPtr recordP;
|
||||||
|
TablePtr table;
|
||||||
|
UInt16 row;
|
||||||
|
|
||||||
|
// Get form and barcode field pointers.
|
||||||
|
form = FrmGetActiveForm();
|
||||||
|
barcode = GetObjectPtrById(form, MainFormBarcode);
|
||||||
|
if (barcode == NULL)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// Set focus to barcode field if empty.
|
||||||
|
size = FldGetTextLength(barcode);
|
||||||
|
if (size == 0) {
|
||||||
|
fieldIndex = FrmGetObjectIndex(form, MainFormBarcode);
|
||||||
|
if (fieldIndex != frmInvalidObjectId)
|
||||||
|
FrmSetFocus(form, fieldIndex);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get case and unit field pointers.
|
||||||
|
cases = GetObjectPtrById(form, MainFormCases);
|
||||||
|
if (cases == NULL)
|
||||||
|
return false;
|
||||||
|
units = GetObjectPtrById(form, MainFormUnits);
|
||||||
|
if (units == NULL)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// Open the database and create a new record.
|
||||||
|
db = OpenScanDatabase();
|
||||||
|
if (db == NULL)
|
||||||
|
return false;
|
||||||
|
recordIndex = dmMaxRecordIndex;
|
||||||
|
recordH = DmNewRecord(db, &recordIndex, sizeof(RatScanDbRecord));
|
||||||
|
if (recordH == 0) {
|
||||||
|
DmCloseDatabase(db);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Write scan data to the record...
|
||||||
|
recordP = MemHandleLock(recordH);
|
||||||
|
offset = 0;
|
||||||
|
|
||||||
|
size = FldGetTextLength(barcode);
|
||||||
|
DmWrite(recordP, offset, FldGetTextPtr(barcode), size);
|
||||||
|
offset += size;
|
||||||
|
|
||||||
|
size = 15 - size;
|
||||||
|
DmSet(recordP, offset, size, 0);
|
||||||
|
offset += size;
|
||||||
|
|
||||||
|
size = FldGetTextLength(cases);
|
||||||
|
DmWrite(recordP, offset, FldGetTextPtr(cases), size);
|
||||||
|
offset += size;
|
||||||
|
|
||||||
|
size = 4 - size;
|
||||||
|
DmSet(recordP, offset, size, 0);
|
||||||
|
offset += size;
|
||||||
|
|
||||||
|
size = FldGetTextLength(units);
|
||||||
|
DmWrite(recordP, offset, FldGetTextPtr(units), size);
|
||||||
|
offset += size;
|
||||||
|
|
||||||
|
size = 4 - size;
|
||||||
|
DmSet(recordP, offset, size, 0);
|
||||||
|
|
||||||
|
// ...then close the record and database.
|
||||||
|
MemHandleUnlock(recordH);
|
||||||
|
DmReleaseRecord(db, recordIndex, false);
|
||||||
|
DmCloseDatabase(db);
|
||||||
|
|
||||||
|
// Redraw the table.
|
||||||
|
table = GetObjectPtrById(form, MainFormScanRecords);
|
||||||
|
row = TblGetLastUsableRow(table);
|
||||||
|
if (row == tblUnusableRow)
|
||||||
|
gTopVisibleRecord = 0;
|
||||||
|
else if (row == 11)
|
||||||
|
gTopVisibleRecord = TblGetRowID(table, 1);
|
||||||
|
MainFormLoadTable(table, true);
|
||||||
|
TblRedrawTable(table);
|
||||||
|
|
||||||
|
SetFieldFocus(MainFormBarcode);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: PilotMain
|
||||||
|
*
|
||||||
|
* DESCRIPTION: This is the main entry point for the application.
|
||||||
|
*
|
||||||
|
* PARAMETERS: cmd - word value specifying the launch code.
|
||||||
|
* cmdPB - pointer to a structure that is associated with the launch code.
|
||||||
|
* launchFlags - word value providing extra information about the launch.
|
||||||
|
* RETURNED: Result of launch
|
||||||
|
*
|
||||||
|
* REVISION HISTORY:
|
||||||
|
*
|
||||||
|
*
|
||||||
|
***********************************************************************/
|
||||||
|
UInt32 PilotMain(UInt16 cmd, MemPtr cmdPBP, UInt16 launchFlags)
|
||||||
|
{
|
||||||
|
Err error = errNone;
|
||||||
|
SysNotifyParamType* notifyParams = (SysNotifyParamType *) cmdPBP;
|
||||||
|
FormPtr form;
|
||||||
|
FieldPtr barcode;
|
||||||
|
MemHandle barcodeH;
|
||||||
|
MemPtr barcodeP;
|
||||||
|
Char * scancode;
|
||||||
|
|
||||||
|
switch (cmd) {
|
||||||
|
case sysAppLaunchCmdNormalLaunch:
|
||||||
|
if ((error = AppStart()) == 0) {
|
||||||
|
AppEventLoop();
|
||||||
|
AppStop();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case sysAppLaunchCmdNotify:
|
||||||
|
if (notifyParams->notifyType == BCS2BarCodeReadyNotification) {
|
||||||
|
scancode = (Char *) notifyParams->notifyDetailsP + 1;
|
||||||
|
if (StrCompareAscii(scancode, "NO READ")) { // (means good read)
|
||||||
|
form = FrmGetActiveForm();
|
||||||
|
barcode = GetObjectPtrById(form, MainFormBarcode);
|
||||||
|
barcodeH = FldGetTextHandle(barcode);
|
||||||
|
FldSetTextHandle(barcode, NULL);
|
||||||
|
if (! barcodeH)
|
||||||
|
barcodeH = MemHandleNew(15); // ugh
|
||||||
|
barcodeP = MemHandleLock(barcodeH);
|
||||||
|
StrCopy((Char *) barcodeP, scancode);
|
||||||
|
MemHandleUnlock(barcodeH);
|
||||||
|
FldSetTextHandle(barcode, barcodeH);
|
||||||
|
FldDrawField(barcode);
|
||||||
|
if (GetCheckedValue(MainFormStopOnCases))
|
||||||
|
SetFieldFocus(MainFormCases);
|
||||||
|
else if (GetCheckedValue(MainFormStopOnUnits))
|
||||||
|
SetFieldFocus(MainFormUnits);
|
||||||
|
else {
|
||||||
|
if (StoreScanData())
|
||||||
|
SndPlaySystemSound(sndInfo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
25
src/AppMain.h
Normal file
25
src/AppMain.h
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
Char barcode[15];
|
||||||
|
Char cases[4];
|
||||||
|
Char units[4];
|
||||||
|
} RatScanDbRecord;
|
||||||
|
|
||||||
|
|
||||||
|
//static void CloseBabboScanner();
|
||||||
|
static void CloseBCS2Scanner();
|
||||||
|
static DmOpenRef CreateScanDatabase();
|
||||||
|
static void DrawCustomTableItem(void* table, Int16 row, Int16 col, RectangleType* bounds);
|
||||||
|
static UInt16 GetActiveFieldId(FormPtr form);
|
||||||
|
static Int16 GetCheckedValue(UInt16 objId);
|
||||||
|
static void *GetObjectPtrById(FormPtr form, UInt16 objId);
|
||||||
|
static Boolean MainFormHandleEvent(EventPtr event);
|
||||||
|
static void MainFormInit(FormPtr form);
|
||||||
|
static void MainFormLoadTable(TablePtr table, Boolean updateScroll);
|
||||||
|
//static Boolean OpenBabboScanner();
|
||||||
|
static Boolean OpenBCS2Scanner();
|
||||||
|
static DmOpenRef OpenScanDatabase();
|
||||||
|
static void ProcessScan();
|
||||||
|
static void SetFieldFocus(UInt16 objId);
|
||||||
|
static Boolean StoreScanData();
|
65
src/AppResources.h
Normal file
65
src/AppResources.h
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
//
|
||||||
|
// Palm App Name: "BasicApp"
|
||||||
|
//
|
||||||
|
// Palm App Version: "1.0"
|
||||||
|
|
||||||
|
|
||||||
|
// Resource: tFRM 1000
|
||||||
|
#define MainForm 1000 //(Left Origin = 0, Top Origin = 0, Width = 160, Height = 160, Usable = 1, Modal = 0, Save Behind = 0, Help ID = 0, Menu Bar ID = 1000, Default Button ID = 0)
|
||||||
|
|
||||||
|
#define MainFormScroller 1006
|
||||||
|
#define MainFormScanRecords 1005
|
||||||
|
#define MainFormBarcode 1000
|
||||||
|
#define MainFormStopOnCases 1004
|
||||||
|
#define MainFormCases 1003
|
||||||
|
#define MainFormStopOnUnits 1002
|
||||||
|
#define MainFormUnits 1001
|
||||||
|
|
||||||
|
#define AlertTest 1000
|
||||||
|
|
||||||
|
// Resource: tFRM 1100
|
||||||
|
#define AboutForm 1100 //(Left Origin = 2, Top Origin = 2, Width = 156, Height = 156, Usable = 1, Modal = 1, Save Behind = 1, Help ID = 0, Menu Bar ID = 0, Default Button ID = 0)
|
||||||
|
#define AboutOKButton 1105 //(Left Origin = 58, Top Origin = 139, Width = 40, Height = 12, Usable = 1, Anchor Left = 1, Frame = 1, Non-bold Frame = 1, Font = Standard)
|
||||||
|
#define AboutTitleLabel 1102 //(Left Origin = 54, Top Origin = 25, Usable = 1, Font = Bold 12)
|
||||||
|
#define AboutText1Label 1103 //(Left Origin = 23, Top Origin = 54, Usable = 1, Font = Standard)
|
||||||
|
#define AboutText2Label 1104 //(Left Origin = 50, Top Origin = 104, Usable = 1, Font = Bold)
|
||||||
|
|
||||||
|
|
||||||
|
// Resource: Talt 1001
|
||||||
|
#define RomIncompatibleAlert 1001
|
||||||
|
#define RomIncompatibleOK 0
|
||||||
|
|
||||||
|
|
||||||
|
// Resource: MBAR 1000
|
||||||
|
#define MainFormMenuBar 1000
|
||||||
|
|
||||||
|
|
||||||
|
// Resource: MENU 1000
|
||||||
|
#define MainOptionsMenu 1000
|
||||||
|
#define MainOptionsAboutStarterApp 1000
|
||||||
|
|
||||||
|
|
||||||
|
// Resource: PICT 1001
|
||||||
|
#define Bitmap 1001
|
||||||
|
|
||||||
|
// Resource: PICT 1002
|
||||||
|
#define Bitmap2 1002
|
||||||
|
|
||||||
|
// Resource: PICT 1008
|
||||||
|
#define Bitmap3 1008
|
||||||
|
|
||||||
|
// Resource: PICT 1011
|
||||||
|
#define Bitmap4 1011
|
||||||
|
|
||||||
|
// Resource: PICT 1012
|
||||||
|
#define Bitmap5 1012
|
||||||
|
|
||||||
|
// Resource: PICT 1018
|
||||||
|
#define Bitmap6 1018
|
||||||
|
|
||||||
|
|
||||||
|
// Resource: taif 1000
|
||||||
|
#define Largeicons12and8bitsAppIconFamily 1000
|
||||||
|
|
||||||
|
// Resource: taif 1001
|
||||||
|
#define Smallicons12and8bitsAppIconFamily 1001
|
526
src/BCS2ScannerLib.h
Normal file
526
src/BCS2ScannerLib.h
Normal file
|
@ -0,0 +1,526 @@
|
||||||
|
/*----------------------------------------------------------------------------------------------------
|
||||||
|
Copyright (c) 2003 ACEECA Limited. All rights reserved.
|
||||||
|
|
||||||
|
File: BCS2ScannerLib.h
|
||||||
|
|
||||||
|
Version: 1.4.3b
|
||||||
|
|
||||||
|
Release: 16th March 2005
|
||||||
|
|
||||||
|
Description:
|
||||||
|
|
||||||
|
Header file for the BCS2 laser barcode scanner API library. Use this file in conjunction
|
||||||
|
with your project file to incorporate the bar code functionality of an IDV-BCS2
|
||||||
|
unit from ACEECA Limited. The library checks the hardware to make sure the
|
||||||
|
Meazura features are present, an error code is returned otherwise. Below is a
|
||||||
|
summary of the functions included in the library:
|
||||||
|
|
||||||
|
BCS2LibOpen:
|
||||||
|
Opens the BarCodeScanner library, creates and initializes the globals.
|
||||||
|
This function must be called before any other BarCodeScanner Library functions,
|
||||||
|
with the exception of BCS2LibGetLibAPIVersion. This library requires at least the
|
||||||
|
MeazuraLib_V200b.prc shared library to work - an error message will
|
||||||
|
be returned if the library is of the wrong version. BCS2LibClose must be called
|
||||||
|
if this is the case.
|
||||||
|
|
||||||
|
BCS2LibClose:
|
||||||
|
Closes the BarCodeScanner libary, frees globals. If other applications still
|
||||||
|
have the library open, decrements the reference count and returns errBCS2LibStillOpen.
|
||||||
|
|
||||||
|
BCS2LibSleep:
|
||||||
|
Handles system sleep event.
|
||||||
|
|
||||||
|
BCS2LibWake:
|
||||||
|
Handles system wake event.
|
||||||
|
|
||||||
|
BCS2LibGetLibAPIVersion:
|
||||||
|
Get the BCS2 library API version.
|
||||||
|
|
||||||
|
BCS2LibTriggerOn:
|
||||||
|
Triggers the BCS2 module to start reading a barcode. When a valid barcode is received, a
|
||||||
|
BCS2BarCodeReadyNotification notification will be broadcast to whoever has registered to
|
||||||
|
receive it. The registering of the notification should be done before calling this function.
|
||||||
|
Please refer to the "Notification Manager" on page 711 of the Palm OS Programmers' API Reference
|
||||||
|
for more information on how to use notifications.
|
||||||
|
|
||||||
|
BCS2LibTriggerOff:
|
||||||
|
Tells the BCS2 module to stop triggering immediately.
|
||||||
|
|
||||||
|
BCS2LibReset:
|
||||||
|
Resets the BCS2 module. This function may be useful if the module doesn't seem to respond and may
|
||||||
|
have gone into a unknown state.
|
||||||
|
|
||||||
|
BCS2LibSetToFactoryDefaults:
|
||||||
|
Sets the BCS2 module to its ACEECA's factory defaults. This will set up the module
|
||||||
|
with the same settings as it left ACEECA Limited. It has been included for cases where the
|
||||||
|
module have been reconfigured by a third party and factory defaults are required.
|
||||||
|
|
||||||
|
BCS2LibChangeSettings:
|
||||||
|
This allows the caller to change the barcode scanner module settings eg. symbologies etc.
|
||||||
|
It accepts configuration strings that will be provided.
|
||||||
|
|
||||||
|
History:
|
||||||
|
03-dec-03 HD: Release beta version BarCodeScannerLib_V100b.prc (120303-1325)
|
||||||
|
10-dec-03 HD: Modified the library so that the triggering can be better controlled, ie trigger on,
|
||||||
|
release off. Released as BarCodeScannerLib_V110b.prc (121103-1019)
|
||||||
|
22-Jan-04 HD: Corrected issue of fatal exceptions when a barcode was received before
|
||||||
|
trigger button was pressed.
|
||||||
|
23-Jan-04 HD: Found that UART interrupts were turning off when power was turned off, this is now fixed.
|
||||||
|
23-Feb-04 HD: Added BCS2LibChangeSettings which allows developers access to configuring the
|
||||||
|
barcode scanner module using a configuration string.
|
||||||
|
HD: Also made this header file compatible with GCC compilers.
|
||||||
|
----------------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef __BCS2_LIB_H__
|
||||||
|
#define __BCS2_LIB_H__
|
||||||
|
|
||||||
|
|
||||||
|
// If we're actually compiling the library code, then we need to
|
||||||
|
// eliminate the trap glue that would otherwise be generated from
|
||||||
|
// this header file in order to prevent compiler errors in CW Pro 2.
|
||||||
|
#ifdef BUILDING_SAMPLE_LIB
|
||||||
|
#define SAMPLE_LIB_TRAP(trapNum)
|
||||||
|
#else
|
||||||
|
#define SAMPLE_LIB_TRAP(trapNum) SYS_TRAP(trapNum)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
// Palm OS common definitions
|
||||||
|
#include <PalmTypes.h>
|
||||||
|
#include <SystemResources.h>
|
||||||
|
|
||||||
|
#ifdef __MWERKS__
|
||||||
|
#pragma mark Library Version
|
||||||
|
#endif
|
||||||
|
// LIBRARY VERSION
|
||||||
|
//
|
||||||
|
// The library version scheme follows the system versioning scheme.
|
||||||
|
// See sysMakeROMVersion and friends in SystemMgr.h.
|
||||||
|
//
|
||||||
|
// For reference:
|
||||||
|
//
|
||||||
|
// 0xMMmfsbbb, where MM is major version, m is minor version
|
||||||
|
// f is bug fix, s is stage: 3-release,2-beta,1-alpha,0-development,
|
||||||
|
// bbb is build number for non-releases
|
||||||
|
// V1.12b3 would be: 0x01122003
|
||||||
|
// V2.00a2 would be: 0x02001002
|
||||||
|
// V1.01 would be: 0x01013000
|
||||||
|
#define BCS2LibVersion sysMakeROMVersion(1, 4, 3, sysROMStageBeta, 1)
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __MWERKS__
|
||||||
|
#pragma mark Creator Codes
|
||||||
|
#endif
|
||||||
|
/********************************************************************
|
||||||
|
* Type and creator of BarCodeScanner Library database
|
||||||
|
********************************************************************/
|
||||||
|
#define BCS2LibCreatorID 'BcAp' // Bar Code scanner Library database creator
|
||||||
|
#define BCS2LibTypeID 'libr' // Standard library database type
|
||||||
|
|
||||||
|
/********************************************************************
|
||||||
|
* Internal library name which can be passed to SysLibFind()
|
||||||
|
********************************************************************/
|
||||||
|
#define BCS2LibName "BCS2 API Library"
|
||||||
|
|
||||||
|
#ifdef __MWERKS__
|
||||||
|
#pragma mark Notifications
|
||||||
|
#endif
|
||||||
|
/********************************************************************
|
||||||
|
* BCS2 notification
|
||||||
|
********************************************************************/
|
||||||
|
#define BCS2BarCodeReadyNotification 'BcsN' // Bar code scanner notification
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __MWERKS__
|
||||||
|
#pragma mark Error Codes
|
||||||
|
#endif
|
||||||
|
/************************************************************
|
||||||
|
* Bar Code Scanner Library error codes
|
||||||
|
*************************************************************/
|
||||||
|
#define errBCS2ParamError (appErrorClass | 0x1) // invalid parameter
|
||||||
|
#define errBCS2LibNotOpen (appErrorClass | 0x2) // returned if library is not openned
|
||||||
|
#define errBCS2LibStillOpen (appErrorClass | 0x3) // returned from MzLibClose() if the library is still open by others
|
||||||
|
#define errBCS2MemoryError (appErrorClass | 0x4) // memory error occurred
|
||||||
|
#define errBCS2HwFuncNotSupported (appErrorClass | 0x5) // the function being accessed is not available on the current hardware
|
||||||
|
#define errBCS2WrongMzLibVersion (appErrorClass | 0x6) // the wrong Meazura library version has been loaded
|
||||||
|
#define errBCS2MzLibLoadError (appErrorClass | 0x7) // an error occured opening the meazura library
|
||||||
|
#define errBCS2MzScannerError (appErrorClass | 0x8) // scanner engine comms error
|
||||||
|
|
||||||
|
/********************************************************************
|
||||||
|
* Meazura key bit definitions
|
||||||
|
********************************************************************/
|
||||||
|
#define MzLeftKeyBit keyBitHard1
|
||||||
|
#define MzCentreKeyBit keyBitHard2
|
||||||
|
#define MzRightKeyBit keyBitHard3
|
||||||
|
#define MzUpKeyBit keyBitPageUp
|
||||||
|
#define MzDownKeyBit keyBitPageDown
|
||||||
|
#define MzPowerKeyBit keyBitPower
|
||||||
|
|
||||||
|
/********************************************************************
|
||||||
|
* Meazura virtual keys definitions
|
||||||
|
********************************************************************/
|
||||||
|
#define MzVLeftKey chrLeftArrow
|
||||||
|
#define MzVCentreKey vchrHard1
|
||||||
|
#define MzVRightKey chrRightArrow
|
||||||
|
#define MzVUpKey vchrPageUp
|
||||||
|
#define MzVDownKey vchrPageDown
|
||||||
|
#define MzVPowerKey vchrAutoOff
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __MWERKS__
|
||||||
|
#pragma mark Library Traps
|
||||||
|
#endif
|
||||||
|
#define BCS2LibTrapGetLibAPIVersion (sysLibTrapCustom + 0)
|
||||||
|
#define BCS2LibTrapTriggerOn (sysLibTrapCustom + 1)
|
||||||
|
#define BCS2LibTrapTriggerOff (sysLibTrapCustom + 2)
|
||||||
|
#define BCS2LibTrapReset (sysLibTrapCustom + 3)
|
||||||
|
#define BCS2LibTrapSetToFactoryDefaults (sysLibTrapCustom + 4)
|
||||||
|
#define BCS2LibTrapChangeSettings (sysLibTrapCustom + 5)
|
||||||
|
#define BCS2LibTrapLast (sysLibTrapCustom + 6)
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __MWERKS__
|
||||||
|
#pragma mark Public Definitions
|
||||||
|
#endif
|
||||||
|
/********************************************************************
|
||||||
|
* Public Definitions
|
||||||
|
********************************************************************/
|
||||||
|
#define BCS2MaxBarCodeSize 100
|
||||||
|
|
||||||
|
/********************************************************************
|
||||||
|
* API Prototypes
|
||||||
|
********************************************************************/
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
//--------------------------------------------------
|
||||||
|
// Standard library open, close, sleep and wake functions
|
||||||
|
//--------------------------------------------------
|
||||||
|
#ifdef __MWERKS__
|
||||||
|
#pragma mark Function Prototypes
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: BCS2LibOpen
|
||||||
|
*
|
||||||
|
* DESCRIPTION: Opens the BarCodeScanner library, creates and initializes the globals.
|
||||||
|
* This function must be called before any other BarCodeScanner Library functions,
|
||||||
|
* with the exception of BCS2LibGetLibAPIVersion.
|
||||||
|
* Does not turn on module power
|
||||||
|
*
|
||||||
|
* If BCS2LibOpen fails, do not call any other BarCodeScanner library API functions.
|
||||||
|
* If BCS2LibOpen succeeds, call BCS2LibClose when you are done using
|
||||||
|
* the library to enable it to release critical system resources.
|
||||||
|
*
|
||||||
|
* LIBRARY DEVELOPER NOTES:
|
||||||
|
*
|
||||||
|
* The library's "open" and "close" functions should *not* take an excessive
|
||||||
|
* amount of time to complete. If the processing time for either of these
|
||||||
|
* is lengthy, consider creating additional library API function(s) to handle
|
||||||
|
* the time-consuming chores.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* PARAMETERS:
|
||||||
|
* refNum -- BarCodeScanner library reference number returned by SysLibLoad()
|
||||||
|
* or SysLibFind().
|
||||||
|
*
|
||||||
|
* CALLED BY: anyone who wants to use this library
|
||||||
|
*
|
||||||
|
* RETURNS: 0 -- no error
|
||||||
|
* errBCS2MemoryError -- not enough memory to initialize
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* CREATED: 2-Dec-03
|
||||||
|
*
|
||||||
|
* BY: Hemon Dey
|
||||||
|
*
|
||||||
|
* REVISION HISTORY:
|
||||||
|
* Name Date Description
|
||||||
|
* ---- ---- -----------
|
||||||
|
*
|
||||||
|
*************************************************************/
|
||||||
|
extern Err BCS2LibOpen(UInt16 refNum)
|
||||||
|
SAMPLE_LIB_TRAP(sysLibTrapOpen);
|
||||||
|
|
||||||
|
/************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: BCS2LibClose
|
||||||
|
*
|
||||||
|
* DESCRIPTION: Closes the BarCodeScanner libary, frees globals.
|
||||||
|
* Turns off module power
|
||||||
|
*
|
||||||
|
* ***IMPORTANT***
|
||||||
|
* May be called only if BCS2LibOpen succeeded.
|
||||||
|
*
|
||||||
|
* If other applications still have the library open, decrements
|
||||||
|
* the reference count and returns errBCS2LibStillOpen.
|
||||||
|
*
|
||||||
|
* LIBRARY DEVELOPER NOTES:
|
||||||
|
*
|
||||||
|
* The library's "open" and "close" functions should *not* take an excessive
|
||||||
|
* amount of time to complete. If the processing time for either of these
|
||||||
|
* is lengthy, consider creating additional library API function(s) to handle
|
||||||
|
* the time-consuming chores.
|
||||||
|
*
|
||||||
|
* PARAMETERS:
|
||||||
|
* refNum -- BarCodeScanner library reference number returned by SysLibLoad()
|
||||||
|
* or SysLibFind().
|
||||||
|
*
|
||||||
|
* CALLED BY: Whoever wants to close the BarCodeScanner library
|
||||||
|
*
|
||||||
|
* RETURNS: errNone -- no error
|
||||||
|
* errBCS2LibStillOpen -- library is still open by others (no error)
|
||||||
|
*
|
||||||
|
* CREATED: 2-Dec-2003
|
||||||
|
*
|
||||||
|
* BY: Hemon Dey
|
||||||
|
*
|
||||||
|
* REVISION HISTORY:
|
||||||
|
* Name Date Description
|
||||||
|
* ---- ---- -----------
|
||||||
|
*
|
||||||
|
*************************************************************/
|
||||||
|
extern Err BCS2LibClose(UInt16 refNum)
|
||||||
|
SAMPLE_LIB_TRAP(sysLibTrapClose);
|
||||||
|
|
||||||
|
/************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: BCS2LibSleep
|
||||||
|
*
|
||||||
|
* DESCRIPTION: Handles system sleep notification.
|
||||||
|
* Turns off module power
|
||||||
|
*
|
||||||
|
* PARAMETERS: refNum -- BarCodeScanner library reference number
|
||||||
|
*
|
||||||
|
* CALLED BY: System
|
||||||
|
*
|
||||||
|
* RETURNS: errNone -- no error
|
||||||
|
*
|
||||||
|
* CREATED: 2-Dec-03
|
||||||
|
*
|
||||||
|
* BY: Hemon Dey
|
||||||
|
*
|
||||||
|
* REVISION HISTORY:
|
||||||
|
* Name Date Description
|
||||||
|
* ---- ---- -----------
|
||||||
|
*
|
||||||
|
*************************************************************/
|
||||||
|
extern Err BCS2LibSleep(UInt16 refNum)
|
||||||
|
SAMPLE_LIB_TRAP(sysLibTrapSleep);
|
||||||
|
|
||||||
|
/************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: BCS2LibWake
|
||||||
|
*
|
||||||
|
* DESCRIPTION: Handles system wake notification
|
||||||
|
* Does not turn on module power
|
||||||
|
*
|
||||||
|
* PARAMETERS: refNum -- BarCodeScanner library reference number
|
||||||
|
*
|
||||||
|
* CALLED BY: System
|
||||||
|
*
|
||||||
|
* RETURNS: errNone -- no error
|
||||||
|
*
|
||||||
|
* CREATED: 2-Dec-03
|
||||||
|
*
|
||||||
|
* BY: Hemon Dey
|
||||||
|
*
|
||||||
|
* REVISION HISTORY:
|
||||||
|
* Name Date Description
|
||||||
|
* ---- ---- -----------
|
||||||
|
*
|
||||||
|
*************************************************************/
|
||||||
|
extern Err BCS2LibWake(UInt16 refNum)
|
||||||
|
SAMPLE_LIB_TRAP(sysLibTrapWake);
|
||||||
|
|
||||||
|
|
||||||
|
//--------------------------------------------------
|
||||||
|
// Custom library API functions
|
||||||
|
//--------------------------------------------------
|
||||||
|
|
||||||
|
/************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: BCS2LibGetLibAPIVersion
|
||||||
|
*
|
||||||
|
* DESCRIPTION: Get the BCS2 library API version.
|
||||||
|
*
|
||||||
|
* PARAMETERS: refNum -- BarCodeScanner library reference number
|
||||||
|
* dwVerP -- pointer to variable for storing the version number
|
||||||
|
*
|
||||||
|
* CALLED BY: Anyone wishing to get our library API version
|
||||||
|
*
|
||||||
|
* RETURNS: errNone -- no error
|
||||||
|
*
|
||||||
|
* CREATED: 2-Dec-03
|
||||||
|
*
|
||||||
|
* BY: Hemon Dey
|
||||||
|
*
|
||||||
|
* LIBRARY VERSION
|
||||||
|
*
|
||||||
|
* The library version scheme follows the system versioning scheme.
|
||||||
|
* See sysMakeROMVersion and friends in SystemMgr.h.
|
||||||
|
*
|
||||||
|
* For reference:
|
||||||
|
*
|
||||||
|
* 0xMMmfsbbb, where MM is major version, m is minor version
|
||||||
|
* f is bug fix, s is stage: 3-release,2-beta,1-alpha,0-development,
|
||||||
|
* bbb is build number for non-releases
|
||||||
|
* V1.12b3 would be: 0x01122003
|
||||||
|
* V2.00a2 would be: 0x02001002
|
||||||
|
* V1.01 would be: 0x01013000
|
||||||
|
*
|
||||||
|
* REVISION HISTORY:
|
||||||
|
* Name Date Description
|
||||||
|
* ---- ---- -----------
|
||||||
|
*************************************************************/
|
||||||
|
extern Err BCS2LibGetLibAPIVersion(UInt16 refNum, UInt32 * dwVerP)
|
||||||
|
SAMPLE_LIB_TRAP(BCS2LibTrapGetLibAPIVersion);
|
||||||
|
|
||||||
|
/************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: BCS2LibTriggerOn
|
||||||
|
*
|
||||||
|
* DESCRIPTION: Trigger on the BCS2 module.
|
||||||
|
* Turns on scanner power if not already on
|
||||||
|
*
|
||||||
|
* PARAMETERS: refNum -- BarCodeScanner library reference number
|
||||||
|
*
|
||||||
|
* CALLED BY: Anyone wishing to trigger the BCS2 module to start scanning
|
||||||
|
*
|
||||||
|
* RETURNS: errNone -- no error
|
||||||
|
* errBCS2LibNotOpen -- the library is not open
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* CREATED: 2-Dec-03
|
||||||
|
*
|
||||||
|
* BY: Hemon Dey
|
||||||
|
*
|
||||||
|
* REVISION HISTORY:
|
||||||
|
* Name Date Description
|
||||||
|
* ---- ---- -----------
|
||||||
|
*
|
||||||
|
*************************************************************/
|
||||||
|
extern Err BCS2LibTriggerOn(UInt16 refNum)
|
||||||
|
SAMPLE_LIB_TRAP(BCS2LibTrapTriggerOn);
|
||||||
|
|
||||||
|
/************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: BCS2LibTriggerOff
|
||||||
|
*
|
||||||
|
* DESCRIPTION: This function does nothing. Just here for compatibility with BCS1
|
||||||
|
*
|
||||||
|
* PARAMETERS: refNum -- BarCodeScanner library reference number
|
||||||
|
*
|
||||||
|
* CALLED BY: Anyone wishing to trigger the BCS2 module to start scanning
|
||||||
|
*
|
||||||
|
* RETURNS: errNone -- no error
|
||||||
|
* errBCS2LibNotOpen -- the library is not open
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* CREATED: 2-Dec-03
|
||||||
|
*
|
||||||
|
* BY: Hemon Dey
|
||||||
|
*
|
||||||
|
* REVISION HISTORY:
|
||||||
|
* Name Date Description
|
||||||
|
* ---- ---- -----------
|
||||||
|
*
|
||||||
|
*************************************************************/
|
||||||
|
extern Err BCS2LibTriggerOff(UInt16 refNum)
|
||||||
|
SAMPLE_LIB_TRAP(BCS2LibTrapTriggerOff);
|
||||||
|
|
||||||
|
|
||||||
|
/************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: BCS2LibReset
|
||||||
|
*
|
||||||
|
* DESCRIPTION: Resets the BCS2 module (cycles power to scanner module)
|
||||||
|
*
|
||||||
|
* PARAMETERS: refNum -- BarCodeScanner library reference number
|
||||||
|
*
|
||||||
|
* CALLED BY: Anyone wishing to reset the BCS2 module.
|
||||||
|
*
|
||||||
|
* RETURNS: errNone -- no error
|
||||||
|
* errBCS2LibNotOpen -- the library is not open
|
||||||
|
*
|
||||||
|
* CREATED: 2-Dec-03
|
||||||
|
*
|
||||||
|
* BY: Hemon Dey
|
||||||
|
*
|
||||||
|
* REVISION HISTORY:
|
||||||
|
* Name Date Description
|
||||||
|
* ---- ---- -----------
|
||||||
|
*
|
||||||
|
*************************************************************/
|
||||||
|
extern Err BCS2LibReset(UInt16 refNum)
|
||||||
|
SAMPLE_LIB_TRAP(BCS2LibTrapReset);
|
||||||
|
|
||||||
|
|
||||||
|
/************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: BCS2LibSetToFactoryDefaults
|
||||||
|
*
|
||||||
|
* DESCRIPTION: Sets the BCS2 module to its ACEECA's factory defaults.
|
||||||
|
* NB. These are the same as Metrologic defaults
|
||||||
|
*
|
||||||
|
* PARAMETERS: refNum -- BarCodeScanner library reference number
|
||||||
|
*
|
||||||
|
* CALLED BY: Anyone wishing set the BCS module to its factory defaults.
|
||||||
|
*
|
||||||
|
* RETURNS: errNone -- no error
|
||||||
|
* errBCS2LibNotOpen -- the library is not open
|
||||||
|
*
|
||||||
|
* CREATED: 2-Dec-03
|
||||||
|
*
|
||||||
|
* BY: Hemon Dey
|
||||||
|
*
|
||||||
|
* REVISION HISTORY:
|
||||||
|
* Name Date Description
|
||||||
|
* ---- ---- -----------
|
||||||
|
*
|
||||||
|
*************************************************************/
|
||||||
|
extern Err BCS2LibSetToFactoryDefaults(UInt16 refNum)
|
||||||
|
SAMPLE_LIB_TRAP(BCS2LibTrapSetToFactoryDefaults);
|
||||||
|
|
||||||
|
/************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: BCS2LibChangeSettings
|
||||||
|
*
|
||||||
|
* DESCRIPTION: Changes the settings to the BCS2 module.
|
||||||
|
*
|
||||||
|
* PARAMETERS: refNum -> BarCodeScanner library reference number
|
||||||
|
* str -> The configuration string (one or more 3-charcter commands for IS4120)
|
||||||
|
* numBytes -> The size of the configuration string (3,6,9,...)
|
||||||
|
*
|
||||||
|
* CALLED BY: Anyone wishing to reconfigure the BCS module.
|
||||||
|
*
|
||||||
|
* RETURNS: errNone -- no error
|
||||||
|
* errBCS2LibNotOpen -- the library is not open
|
||||||
|
*
|
||||||
|
* CREATED: 2-Dec-03
|
||||||
|
*
|
||||||
|
* BY: Hemon Dey
|
||||||
|
*
|
||||||
|
* REVISION HISTORY:
|
||||||
|
* Name Date Description
|
||||||
|
* ---- ---- -----------
|
||||||
|
*
|
||||||
|
*************************************************************/
|
||||||
|
extern Err BCS2LibChangeSettings(UInt16 refNum, UInt8* str, UInt16 numBytes)
|
||||||
|
SAMPLE_LIB_TRAP(BCS2LibTrapChangeSettings);
|
||||||
|
|
||||||
|
|
||||||
|
// For loading the library in Palm OS Mac emulation mode
|
||||||
|
extern Err BCS2LibInstall(UInt16 refNum, SysLibTblEntryPtr entryP);
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#endif // __BCS2_LIB_H__
|
58
src/JanamExtended.h
Normal file
58
src/JanamExtended.h
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
/******************************************************************************
|
||||||
|
*
|
||||||
|
* Extended Functions header
|
||||||
|
*
|
||||||
|
* Copyright (c) 2008 Janam Partners LLC. All rights reserved.
|
||||||
|
*
|
||||||
|
* File: JanamExtended.h
|
||||||
|
*
|
||||||
|
* Release: Palm OS 5.x
|
||||||
|
*
|
||||||
|
* Description: Extended Function Supported by BABBO
|
||||||
|
*
|
||||||
|
* History:
|
||||||
|
* Version 1.0 PT, JL Oct, 2006
|
||||||
|
* Version 1.1 PT, JL May, 2007
|
||||||
|
* -Add ScnCmdGetSetExposureSettings function
|
||||||
|
* Version 1.2 PT, JL Sep, 2008
|
||||||
|
* -Add ScnCmdGetSetDecodeCenteringWindow function
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
// Extended functions supported by BABBO devices
|
||||||
|
|
||||||
|
#ifndef __JANAMEXTENDED_H__
|
||||||
|
#define __JANAMEXTENDED_H__
|
||||||
|
|
||||||
|
#include "JanamExtendedStruct.h"
|
||||||
|
|
||||||
|
|
||||||
|
//Read Write Symbology Config
|
||||||
|
Int16 ScnCmdReadSymbologyConfig(UInt8 Query, Int16 nSymId, SymFlagsRange_t *pSymStruct);
|
||||||
|
Int16 ScnCmdWriteSymbologyConfig(Int16 nSymId, SymFlagsRange_t *pvSym);
|
||||||
|
|
||||||
|
//OCR Support
|
||||||
|
Int16 ScnCmdSetupOCR(UInt8 nFont, char* pszTemplate, char* pszGroupG, char* pszGroupH, char* pszCheckChar);
|
||||||
|
Int16 ScnCmdGetSetupOCR(UInt8 QueryType, UInt8* pnFont, char* pszTemplate, char* pszGroupG, char* pszGroupH, char* pszCheckChar);
|
||||||
|
|
||||||
|
//On Off Aimer and Illum Lights
|
||||||
|
Int16 ScnCmdAimerOn(Int8 bEnable);
|
||||||
|
Int16 ScnCmdLightsOn(Int8 bEnable);
|
||||||
|
|
||||||
|
//Set the light mode during scan
|
||||||
|
Int16 ScnCmdGetSetLightsMode(Int8 Set,UInt8 QueryType, UInt8 *pLightsMode);
|
||||||
|
|
||||||
|
//ScanWedge
|
||||||
|
void ScnCmdScanWedge(Boolean state);
|
||||||
|
|
||||||
|
//Set the exposure setting of the Scanner
|
||||||
|
Int16 ScnCmdGetSetExposureMode(Int8 Set, Int8 *pExpMode);
|
||||||
|
Int16 ScnCmdGetSetExposureSettings(Int8 Set, Int32 * pArray, Int32 dwArrayLength);
|
||||||
|
|
||||||
|
//GetSet the decode options
|
||||||
|
Int16 ScnCmdGetSetDecodeOptions(Int8 Set,UInt8 QueryType, DecodeOptions_t *pDecodeOptions);
|
||||||
|
|
||||||
|
//GetSet the centering option
|
||||||
|
Int16 ScnCmdGetSetDecodeCenteringWindow(Int8 bSet, UInt8 QueryType, Int8 *pbEnabled, RECT *pInt16ersectRect);
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
231
src/JanamExtendedDef.h
Normal file
231
src/JanamExtendedDef.h
Normal file
|
@ -0,0 +1,231 @@
|
||||||
|
/******************************************************************************
|
||||||
|
*
|
||||||
|
* Barcode Scanner Common Defines.
|
||||||
|
*
|
||||||
|
* Copyright (c) 2006 Janam Partners LLC. All rights reserved.
|
||||||
|
*
|
||||||
|
* File: JanamExtendedDef.h
|
||||||
|
*
|
||||||
|
* Release: Palm OS 5.x
|
||||||
|
*
|
||||||
|
* Description: Extended Defines for using the BABBO devices
|
||||||
|
*
|
||||||
|
* History:
|
||||||
|
* Version 1.0 PT, JL Oct, 2006
|
||||||
|
*
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
#ifndef __JANAMEXTENDEDDEF_H__
|
||||||
|
#define __JANAMEXTENDEDDEF_H__
|
||||||
|
|
||||||
|
//Type Defines
|
||||||
|
#define LONG long
|
||||||
|
#define WORD Int16
|
||||||
|
#define DWORD Int32
|
||||||
|
|
||||||
|
//The Max BarCode Length
|
||||||
|
#define MAXBARCODELENGTH 3750
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
//Barcode data types returned
|
||||||
|
|
||||||
|
//Added to the current library
|
||||||
|
#define BCTYPE_CODE32 0x20
|
||||||
|
#define BCTYPE_PDF417 0x11
|
||||||
|
|
||||||
|
//Extended support by BABBO
|
||||||
|
//Defined at a range of 0x31-0x3F, 0x60-0x6D
|
||||||
|
#define BCTYPE_AZTEC 0x31
|
||||||
|
#define BCTYPE_CODE11 0x32
|
||||||
|
#define BCTYPE_CODE49 0x33
|
||||||
|
#define BCTYPE_COMPOSITE 0x34
|
||||||
|
#define BCTYPE_DATAMATRIX 0x35
|
||||||
|
#define BCTYPE_MAXICODE 0x36
|
||||||
|
#define BCTYPE_MICROPDF 0x37
|
||||||
|
#define BCTYPE_POSTNET 0x38
|
||||||
|
#define BCTYPE_OCR 0x39
|
||||||
|
#define BCTYPE_QR 0x3A
|
||||||
|
#define BCTYPE_RSS 0x3B
|
||||||
|
#define BCTYPE_ISBT 0x3C
|
||||||
|
#define BCTYPE_BPO 0x3D
|
||||||
|
#define BCTYPE_CANPOST 0x3E
|
||||||
|
#define BCTYPE_AUSPOST 0x3F
|
||||||
|
|
||||||
|
#define BCTYPE_IATA25 0x60
|
||||||
|
#define BCTYPE_CODABLOCK 0x61
|
||||||
|
#define BCTYPE_JAPOST 0x62
|
||||||
|
#define BCTYPE_PLANET 0x63
|
||||||
|
#define BCTYPE_DUTCHPOST 0x64
|
||||||
|
#define BCTYPE_MATRIX25 0x65
|
||||||
|
#define BCTYPE_CHINAPOST 0x66
|
||||||
|
#define BCTYPE_KOREAPOST 0x67
|
||||||
|
#define BCTYPE_TELEPEN 0x68
|
||||||
|
#define BCTYPE_CODE16K 0x69
|
||||||
|
#define BCTYPE_POSICODE 0x6A
|
||||||
|
#define BCTYPE_COUPONCODE 0x6B
|
||||||
|
#define BCTYPE_USPS4CB 0x6C
|
||||||
|
#define BCTYPE_IDTAG 0x6D
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// Decoder configuration definitions for each symbology
|
||||||
|
#define SYMBOLOGY_ENABLE 0x00000001 // Enable Symbology bit
|
||||||
|
#define SYMBOLOGY_CHECK_ENABLE 0x00000002 // Enable usage of check character
|
||||||
|
#define SYMBOLOGY_CHECK_TRANSMIT 0x00000004 // Send check character
|
||||||
|
#define SYMBOLOGY_START_STOP_XMIT 0x00000008 // Include the start and stop characters in the decoded result string
|
||||||
|
#define SYMBOLOGY_ENABLE_APPEND_MODE 0x00000010 // Code39 append mode
|
||||||
|
#define SYMBOLOGY_ENABLE_FULLASCII 0x00000020 // Enable Code39 Full ASCII
|
||||||
|
#define SYMBOLOGY_ENABLE_BASE32 0x00000040 // Code32 (PARAF) enable
|
||||||
|
#define SYMBOLOGY_NUM_SYS_TRANSMIT 0x00000040 // UPC-A/UPC-e Send Num Sys
|
||||||
|
#define SYMBOLOGY_2_DIGIT_ADDENDA 0x00000080 // Enable 2 digit Addenda (UPC & EAN)
|
||||||
|
#define SYMBOLOGY_5_DIGIT_ADDENDA 0x00000100 // Enable 5 digit Addenda (UPC & EAN)
|
||||||
|
#define SYMBOLOGY_ADDENDA_REQUIRED 0x00000200 // Only allow codes with addenda (UPC & EAN)
|
||||||
|
#define SYMBOLOGY_ADDENDA_SEPARATOR 0x00000400 // Include Addenda separator space in returned string.
|
||||||
|
#define SYMBOLOGY_EXPANDED_UPCE 0x00000800 // Extended UPC-E
|
||||||
|
#define SYMBOLOGY_ISBT_CONCATENATE 0x00000040 // C128 ISBT concatenation
|
||||||
|
#define SYMBOLOGY_COMPOSITE_UPC 0x00002000 // Enable UPC composite codes
|
||||||
|
#define SYMBOLOGY_AZTEC_RUNE 0x00004000 // Enable Aztec Run
|
||||||
|
#define SYMBOLOGY_AUSTRALIAN_BAR_WIDTH 0x00010000 // Include australian postal bar data in string
|
||||||
|
// Telepen and PosiCode
|
||||||
|
#define SYMBOLOGY_TELEPEN_OLD_STYLE 0x04000000 // Telepen Old Style mode.
|
||||||
|
#define SYMBOLOGY_POSICODE_LIMITED_1 0x08000000 // PosiCode Limited of 1
|
||||||
|
#define SYMBOLOGY_POSICODE_LIMITED_2 0x10000000 // PosiCode Limited of 2
|
||||||
|
#define SYMBOLOGY_CODABAR_CONCATENATE 0x20000000 // Codabar concatenate.
|
||||||
|
#define SYMBOLOGY_CODABAR_CONCAT_REQ 0x40000000 // Codabar concatenate required.
|
||||||
|
#define SYMBOLOGY_EAN13_ISBN_XLATE 0x00080000 // EAN 13-Bookland- ISBN
|
||||||
|
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// Symbology structure set masks
|
||||||
|
#define SYM_MASK_FLAGS 0x00000001 // Flags are valid
|
||||||
|
#define SYM_MASK_MIN_LEN 0x00000002 // Min Length valid
|
||||||
|
#define SYM_MASK_MAX_LEN 0x00000004 // Max Length valid
|
||||||
|
#define SYM_MASK_ALL 0x00000007 // All fields valid
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// Define aliases for each symbology structure
|
||||||
|
#define AZTEC_T SymFlagsRange_t
|
||||||
|
#define CODABAR_T SymFlagsRange_t
|
||||||
|
#define CODE11_T SymFlagsRange_t
|
||||||
|
#define CODE128_T SymFlagsRange_t
|
||||||
|
#define CODE39_T SymFlagsRange_t
|
||||||
|
#define CODE49_T SymFlagsRange_t
|
||||||
|
#define CODE93_T SymFlagsRange_t
|
||||||
|
#define COMPOSITE_T SymFlagsRange_t
|
||||||
|
#define DATAMATRIX_T SymFlagsRange_t
|
||||||
|
#define EAN8_T SymFlagsOnly_t
|
||||||
|
#define EAN13_T SymFlagsOnly_t
|
||||||
|
#define INT25_T SymFlagsRange_t
|
||||||
|
#define MAXICODE_T SymFlagsRange_t
|
||||||
|
#define MICROPDF_T SymFlagsRange_t
|
||||||
|
#define PDF417_T SymFlagsRange_t
|
||||||
|
#define POSTNET_T SymFlagsOnly_t
|
||||||
|
#define QR_T SymFlagsRange_t
|
||||||
|
#define RSS_T SymFlagsOnly_t
|
||||||
|
#define RSSLIM_T SymFlagsOnly_t
|
||||||
|
#define RSSEXP_T SymFlagsRange_t
|
||||||
|
#define UPCA_T SymFlagsOnly_t
|
||||||
|
#define UPCE_T SymFlagsOnly_t
|
||||||
|
#define UPCE1_T SymFlagsOnly_t
|
||||||
|
#define BPO_T SymFlagsOnly_t
|
||||||
|
#define CANPOST_T SymFlagsOnly_t
|
||||||
|
#define AUSPOST_T SymFlagsOnly_t
|
||||||
|
#define IATA25_T SymFlagsRange_t
|
||||||
|
#define CODABLOCK_T SymFlagsRange_t
|
||||||
|
#define JAPOST_T SymFlagsOnly_t
|
||||||
|
#define PLANET_T SymFlagsOnly_t
|
||||||
|
#define DUTCHPOST_T SymFlagsOnly_t
|
||||||
|
#define MSI_T SymFlagsRange_t
|
||||||
|
#define TLCODE39_T SymFlagsOnly_t
|
||||||
|
#define MATRIX25_T SymFlagsRange_t
|
||||||
|
#define KORPOST_T SymFlagsRange_t
|
||||||
|
#define TRIOPTIC_T SymFlagsOnly_t
|
||||||
|
#define CODE25_T SymFlagsRange_t
|
||||||
|
#define PLESSEY_T SymFlagsRange_t
|
||||||
|
#define CHINAPOST_T SymFlagsRange_t
|
||||||
|
#define TELEPEN_T SymFlagsRange_t
|
||||||
|
#define CODE16K_T SymFlagsRange_t
|
||||||
|
#define POSICODE_T SymFlagsRange_t
|
||||||
|
#define COUPONCODE_T SymFlagsOnly_t
|
||||||
|
#define USPS4STATE_T SymFlagsOnly_t
|
||||||
|
#define IDTAG_T SymFlagsOnly_t
|
||||||
|
|
||||||
|
//define for exposure settings
|
||||||
|
#define DEC_ES_EXPOSURE_METHOD 0
|
||||||
|
#define DEC_ES_TARGET_VALUE 1
|
||||||
|
#define DEC_ES_TARGET_PERCENTILE 2
|
||||||
|
#define DEC_ES_TARGET_ACCEPT_GAP 3
|
||||||
|
#define DEC_ES_MAX_EXP 4
|
||||||
|
#define DEC_ES_MAX_GAIN 5
|
||||||
|
#define DEC_ES_STARTING_EXP 6
|
||||||
|
#define DEC_ES_STARTING_GAIN 7
|
||||||
|
#define DEC_ES_FRAME_RATE 8
|
||||||
|
#define DEC_ES_CONFORM_IMAGE 9
|
||||||
|
#define DEC_ES_CONFORM_TRIES 10
|
||||||
|
#define DEC_ES_SPECULAR_EXCLUSION 11
|
||||||
|
#define DEC_ES_SPECULAR_SAT 12
|
||||||
|
#define DEC_ES_SPECULAR_LIMIT 13
|
||||||
|
#define DEC_ES_FIXED_EXP 14
|
||||||
|
#define DEC_ES_FIXED_GAIN 15
|
||||||
|
#define DEC_ES_FIXED_FRAME_RATE 16
|
||||||
|
#define DEC_ES_CENTER_SAMPLE_WINDOW_TOP 18
|
||||||
|
#define DEC_ES_CENTER_SAMPLE_WINDOW_BOT 19
|
||||||
|
#define DEC_ES_CENTER_SAMPLE_WINDOW_LFT 20
|
||||||
|
#define DEC_ES_CENTER_SAMPLE_WINDOW_RGT 21
|
||||||
|
#define DEC_ES_CENTER_SAMPLE_WINDOW_H_PER 22
|
||||||
|
#define DEC_ES_CENTER_SAMPLE_WINDOW_V_PER 23
|
||||||
|
#define DEC_ES_MIN_EXP 24
|
||||||
|
|
||||||
|
#define DEC_MIN_ES_EXPOSURE_METHOD 0
|
||||||
|
#define DEC_MAX_ES_EXPOSURE_METHOD 2
|
||||||
|
#define DEC_MIN_ES_TARGET_VALUE 1
|
||||||
|
#define DEC_MAX_ES_TARGET_VALUE 255
|
||||||
|
#define DEC_MIN_ES_TARGET_PERCENTILE 1
|
||||||
|
#define DEC_MAX_ES_TARGET_PERCENTILE 99
|
||||||
|
#define DEC_MIN_ES_TARGET_ACCEPT_GAP 1
|
||||||
|
#define DEC_MAX_ES_TARGET_ACCEPT_GAP 50
|
||||||
|
#define DEC_MIN_ES_MAX_EXP 1
|
||||||
|
#define DEC_MAX_ES_MAX_EXP 7874
|
||||||
|
#define DEC_MIN_ES_MAX_GAIN 1
|
||||||
|
#define DEC_MAX_ES_MAX_GAIN 4
|
||||||
|
#define DEC_MIN_ES_FRAME_RATE 1
|
||||||
|
#define DEC_MAX_ES_FRAME_RATE 30
|
||||||
|
#define DEC_MIN_ES_CONFORM_IMAGE 0
|
||||||
|
#define DEC_MAX_ES_CONFORM_IMAGE 1
|
||||||
|
#define DEC_MIN_ES_CONFORM_TRIES 1
|
||||||
|
#define DEC_MAX_ES_CONFORM_TRIES 8
|
||||||
|
#define DEC_MIN_ES_SPECULAR_EXCLUSION 0
|
||||||
|
#define DEC_MAX_ES_SPECULAR_EXCLUSION 4
|
||||||
|
#define DEC_MIN_ES_SPECULAR_SAT 200
|
||||||
|
#define DEC_MAX_ES_SPECULAR_SAT 255
|
||||||
|
#define DEC_MIN_ES_SPECULAR_LIMIT 1
|
||||||
|
#define DEC_MAX_ES_SPECULAR_LIMIT 5
|
||||||
|
#define DEC_MIN_ES_FIXED_EXP 1
|
||||||
|
#define DEC_MAX_ES_FIXED_EXP 7874
|
||||||
|
#define DEC_MIN_ES_FIXED_GAIN 1
|
||||||
|
#define DEC_MAX_ES_FIXED_GAIN 4
|
||||||
|
#define DEC_MIN_ES_FIXED_FRAME_RATE 1
|
||||||
|
#define DEC_MAX_ES_FIXED_FRAME_RATE 30
|
||||||
|
#define DEC_MIN_ES_CENTER_SAMPLE_WINDOW_TOP 0
|
||||||
|
#define DEC_MAX_ES_CENTER_SAMPLE_WINDOW_TOP 479
|
||||||
|
#define DEC_MIN_ES_CENTER_SAMPLE_WINDOW_BOT 0
|
||||||
|
#define DEC_MAX_ES_CENTER_SAMPLE_WINDOW_BOT 479
|
||||||
|
#define DEC_MIN_ES_CENTER_SAMPLE_WINDOW_LFT 0
|
||||||
|
#define DEC_MAX_ES_CENTER_SAMPLE_WINDOW_LFT 751
|
||||||
|
#define DEC_MIN_ES_CENTER_SAMPLE_WINDOW_RGT 0
|
||||||
|
#define DEC_MAX_ES_CENTER_SAMPLE_WINDOW_RGT 751
|
||||||
|
#define DEC_MIN_ES_CENTER_SAMPLE_WINDOW_H_PER 4
|
||||||
|
#define DEC_MAX_ES_CENTER_SAMPLE_WINDOW_H_PER 748
|
||||||
|
#define DEC_MIN_ES_CENTER_SAMPLE_WINDOW_V_PER 1
|
||||||
|
#define DEC_MAX_ES_CENTER_SAMPLE_WINDOW_V_PER 751
|
||||||
|
#define DEC_MIN_ES_MIN_EXP 1
|
||||||
|
#define DEC_MAX_ES_MIN_EXP 7874
|
||||||
|
|
||||||
|
#define DEC_AE_METHOD_UNIFORM 0
|
||||||
|
#define DEC_AE_METHOD_CENTER_ONLY 1
|
||||||
|
#define DEC_AE_METHOD_CENTER_WEIGHTED 2
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#endif
|
342
src/JanamExtendedStruct.h
Normal file
342
src/JanamExtendedStruct.h
Normal file
|
@ -0,0 +1,342 @@
|
||||||
|
/******************************************************************************
|
||||||
|
*
|
||||||
|
* Barcode Scanner Extended Struct Defines.
|
||||||
|
*
|
||||||
|
* Copyright (c) 2006 Janam Partners LLC. All rights reserved.
|
||||||
|
*
|
||||||
|
* File: JanamExtendedStruct.h
|
||||||
|
*
|
||||||
|
* Release: Palm OS 5.x
|
||||||
|
*
|
||||||
|
* Description: Extended Struct and Enum for using BABBO devices
|
||||||
|
*
|
||||||
|
* History:
|
||||||
|
* Version 1.0 PT, JL Oct, 2006
|
||||||
|
*
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __JANAMEXTENDEDSTRUCT_H__
|
||||||
|
#define __JANAMEXTENDEDSTRUCT_H__
|
||||||
|
|
||||||
|
|
||||||
|
// Image formats Enum
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
IF_RAW_BINARY = 0,
|
||||||
|
IF_RAW_GRAY
|
||||||
|
} ImageFormat_t;
|
||||||
|
|
||||||
|
// OCR Mode Enum
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
OCR_DISABLED = 0,
|
||||||
|
OCR_A,
|
||||||
|
OCR_B,
|
||||||
|
OCR_MONEY,
|
||||||
|
OCR_MICR
|
||||||
|
}OCRMode_t;
|
||||||
|
|
||||||
|
// Query Type Enum
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
QT_DEFAULT = 0,
|
||||||
|
QT_CURRENT
|
||||||
|
} QueryType_t;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// Lights mode used during WaitForDecode function calls.
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
LM_ILLUM_AIMER_OFF=0, // Neither aimers or illumination
|
||||||
|
LM_AIMER_ONLY, // Aimer only
|
||||||
|
LM_ILLUM_ONLY, // Illum only
|
||||||
|
LM_ILLUM_AIMER // Alternating Aimer & illumination(default)
|
||||||
|
} LightsMode_t;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
// Structure for symbologies with no specified min or max length.
|
||||||
|
typedef struct _tagSymFlagsOnly
|
||||||
|
{
|
||||||
|
Int32 dwStructSize; // Set to sizeof( SymFlagsOnly_t );
|
||||||
|
Int32 dwMask;
|
||||||
|
Int32 dwFlags;
|
||||||
|
|
||||||
|
} SymFlagsOnly_t, *PSymFlagsOnly_t;
|
||||||
|
|
||||||
|
|
||||||
|
// Structure for symbologies with min & max length.
|
||||||
|
typedef struct _tagSymFlagsRange
|
||||||
|
{
|
||||||
|
Int32 dwStructSize; // Set to sizeof( SymFlagsRange_t );
|
||||||
|
Int32 dwMask;
|
||||||
|
Int32 dwFlags;
|
||||||
|
Int32 dwMinLen;
|
||||||
|
Int32 dwMaxLen;
|
||||||
|
|
||||||
|
} SymFlagsRange_t, *PSymFlagsRange_t;
|
||||||
|
|
||||||
|
// Structure of structures, one for each symbology.
|
||||||
|
typedef struct _tagSymCfg
|
||||||
|
{
|
||||||
|
Int32 dwStructSize; // Set to sizeof( SymCfg_t );
|
||||||
|
// Linear Codes // Flags supported for this code
|
||||||
|
//---------------------------------------------------------------
|
||||||
|
CODABAR_T codabar; // Enable,Check,CheckSend,StartStop,Concatenate
|
||||||
|
CODE11_T code11; // Enable,Check,CheckSend
|
||||||
|
CODE128_T code128; // Enable
|
||||||
|
CODE39_T code39; // Enable,Check,CheckSend,StartStop,Append,FullAscii
|
||||||
|
CODE49_T code49; // Enable
|
||||||
|
CODE93_T code93; // Enable
|
||||||
|
COMPOSITE_T composite; // Enable,CompositeUPC
|
||||||
|
DATAMATRIX_T datamatrix; // Enable
|
||||||
|
EAN8_T ean8; // Enable,Check,Addenda2,Addenda5,AddendaReq,AddendaSep
|
||||||
|
EAN13_T ean13; // Enable,Check,Addenda2,Addenda5,AddendaReq,AddendaSep,ISBN Translate
|
||||||
|
IATA25_T iata25; // Enable
|
||||||
|
INT25_T int2of5; // Enable,Check,CheckSend
|
||||||
|
MSI_T msi; // Enable,Check
|
||||||
|
UPCA_T upcA; // Enable,check,NumSysTrans,Addenda2,Addenda5,AddendaReq,AddendaSep
|
||||||
|
UPCE_T upcE; // Enable,check,NumSysTrans,Addenda2,Addenda5,AddendaReq,AddendaSep,ExpandedE,
|
||||||
|
UPCE1_T upcE1; // Enable
|
||||||
|
// Postal Codes
|
||||||
|
AUSPOST_T australiaPost; // Enable,AustralianBar
|
||||||
|
BPO_T britishPost; // Enable
|
||||||
|
CANPOST_T canadaPost; // Enable
|
||||||
|
DUTCHPOST_T dutchPost; // Enable
|
||||||
|
JAPOST_T japanPost; // Enable
|
||||||
|
PLANET_T usPlanet; // Enable,Check
|
||||||
|
POSTNET_T usPostnet; // Enable,Check
|
||||||
|
// 2D Codes
|
||||||
|
AZTEC_T aztec; // Enable,AztecRune
|
||||||
|
CODABLOCK_T codablock; // Enable
|
||||||
|
MAXICODE_T maxicode; // Enable
|
||||||
|
MICROPDF_T microPDF; // Enable
|
||||||
|
PDF417_T pdf417; // Enable
|
||||||
|
QR_T qr; // Enable
|
||||||
|
RSS_T rss; // Enable
|
||||||
|
TLCODE39_T tlCode39; // Enable
|
||||||
|
// New codes
|
||||||
|
MATRIX25_T matrix25; // Enable,
|
||||||
|
KORPOST_T koreaPost; // Enable
|
||||||
|
TRIOPTIC_T triopticCode; // Enable
|
||||||
|
CODE25_T code2of5; // Enable
|
||||||
|
PLESSEY_T plesseyCode; // Enable
|
||||||
|
CHINAPOST_T chinaPost; // Enable
|
||||||
|
TELEPEN_T telepen; // Enable,OldStyle?
|
||||||
|
CODE16K_T code16k; // Enable
|
||||||
|
POSICODE_T posiCode; // Enable,Limited 1 and 2
|
||||||
|
COUPONCODE_T couponCode; // Enable
|
||||||
|
USPS4STATE_T usps4Post; // Enable
|
||||||
|
IDTAG_T idtagPost; // Enable
|
||||||
|
RSSLIM_T rssLim; // Enable
|
||||||
|
RSSEXP_T rssExp; // Enable
|
||||||
|
} SymCfg_t, *PSymCfg_t;
|
||||||
|
|
||||||
|
|
||||||
|
// Intell Img Structure
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int AspectRatio; // ratioof barcode height to narrow elem width
|
||||||
|
int OffsetX; // offset in X direction, relative to barcode center
|
||||||
|
int OffsetY; // offset in Y direction
|
||||||
|
unsigned int width; // width of image in IntellBarcodeUnits
|
||||||
|
unsigned int height; // height of image
|
||||||
|
int resolution; // # pixels/IntellBarcodeUnits
|
||||||
|
ImageFormat_t format;
|
||||||
|
unsigned int destNaturalWidthInPixels; // (OUT) base to report native DPI
|
||||||
|
unsigned int destNaturalHeightInPixels;
|
||||||
|
unsigned int destWidthInPixels; // (IN) alternative to resolution (if resolution = 0)
|
||||||
|
unsigned int destHeightInPixels;
|
||||||
|
} IntellImgDesc_t;
|
||||||
|
|
||||||
|
// Image Properties Structure
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
DWORD dwSize;
|
||||||
|
DWORD dwEngineID;
|
||||||
|
DWORD dwImagerRows;
|
||||||
|
DWORD dwImagerCols;
|
||||||
|
DWORD dwBitsPerPixel;
|
||||||
|
DWORD dwRotation;
|
||||||
|
DWORD dwAimerXoffset;
|
||||||
|
DWORD dwAimerYoffset;
|
||||||
|
DWORD dwYDepth;
|
||||||
|
} ImagerProperties_t;
|
||||||
|
|
||||||
|
//Image Atributes Structure
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int Size; // Size of image
|
||||||
|
int Exposure; //
|
||||||
|
int Gain; //
|
||||||
|
int IllumValue; //
|
||||||
|
int IllumMax; //
|
||||||
|
int IllumClip; //
|
||||||
|
} ImageAttributes_t;
|
||||||
|
|
||||||
|
|
||||||
|
//Decode RAW data Structure
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
Int8* pchMessage;
|
||||||
|
Int8 chCodeID;
|
||||||
|
Int8 chSymLetter;
|
||||||
|
Int8 chSymModifier;
|
||||||
|
Int16 nLength;
|
||||||
|
} DecodeMsgRaw_t;
|
||||||
|
|
||||||
|
|
||||||
|
//RECT structure
|
||||||
|
typedef struct _RECT {
|
||||||
|
LONG left;
|
||||||
|
LONG top;
|
||||||
|
LONG right;
|
||||||
|
LONG bottom;
|
||||||
|
} RECT, *PRECT, *LPRECT;
|
||||||
|
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
ES_EXPOSURE_METHOD, /* How should we do this */
|
||||||
|
ES_TARGET_VALUE, /* This is the target pixel count we shoot for */
|
||||||
|
ES_TARGET_PERCENTILE, /* This goes along with Value, the target value should be at this percentile */
|
||||||
|
ES_TARGET_ACCEPT_GAP, /* How close to the target value must we be */
|
||||||
|
ES_MAX_EXP, /* This is the maximum exposure we're allowed to use */
|
||||||
|
ES_MAX_GAIN, /* This is the maximum gain we're allowed to use */
|
||||||
|
ES_STARTING_EXP, /* When scanning starts, this is the first exposure that we try (updated when scanning stops)*/
|
||||||
|
ES_STARTING_GAIN, /* When scanning starts, this is the first gain that we try (updated when scanning stops)*/
|
||||||
|
ES_FRAME_RATE, /* This is essentially the frame rate to use, I call it divide because that's what it does */
|
||||||
|
ES_CONFORM_IMAGE, /* The image must conform to the auto-exposure requirements, if not, it's rejected. */
|
||||||
|
ES_CONFORM_TRIES, /* The number of times we'll attempt to conform. */
|
||||||
|
ES_SPECULAR_EXCLUSION, /* Do we exclude specular? to what degree? */
|
||||||
|
ES_SPECULAR_SAT, /* These next two only come into play if somebody specifies nSpecularExclusion*/
|
||||||
|
ES_SPECULAR_LIMIT, /* to be HHPSD_SPECULAR_EXCLUSION_SPECIAL. */
|
||||||
|
ES_FIXED_EXP,
|
||||||
|
ES_FIXED_GAIN,
|
||||||
|
ES_FIXED_FRAME_RATE,
|
||||||
|
ES_ADJUST_EXP_WHEN_ILLUM_OFF,
|
||||||
|
ES_CENTER_SAMPLE_WINDOW_TOP,
|
||||||
|
ES_CENTER_SAMPLE_WINDOW_BOT,
|
||||||
|
ES_CENTER_SAMPLE_WINDOW_LFT,
|
||||||
|
ES_CENTER_SAMPLE_WINDOW_RGT,
|
||||||
|
ES_CENTER_SAMPLE_WINDOW_H_PER,
|
||||||
|
ES_CENTER_SAMPLE_WINDOW_V_PER,
|
||||||
|
ES_MIN_EXP,
|
||||||
|
ES_NUM_EXPOSURE_ITEMS
|
||||||
|
} HHP_IMAGER_EXPOSURE_TAG;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
HHPSD_IOCTL_START_SCANNING,
|
||||||
|
HHPSD_IOCTL_STOP_SCANNING,
|
||||||
|
HHPSD_IOCTL_GET_NEW_SCAN,
|
||||||
|
HHPSD_IOCTL_UNREGISTER_SCAN_BUFFER,
|
||||||
|
HHPSD_IOCTL_REGISTER_SCAN_BUFFER,
|
||||||
|
HHPSD_IOCTL_GET_SCAN_HEIGHT,
|
||||||
|
HHPSD_IOCTL_GET_SCAN_WIDTH,
|
||||||
|
HHPSD_IOCTL_SET_ILLUMINATORS_STATE,
|
||||||
|
HHPSD_IOCTL_SET_AIMER_STATE,
|
||||||
|
HHPSD_IOCTL_SET_EXPOSURE_SETTINGS,
|
||||||
|
HHPSD_IOCTL_GET_EXPOSURE_SETTINGS,
|
||||||
|
HHPSD_IOCTL_RETURN_SCAN,
|
||||||
|
HHPSD_IOCTL_SET_SCAN_LIGHTS_MODE,
|
||||||
|
HHPSD_IOCTL_GET_ENGINE_TYPE,
|
||||||
|
HHPSD_IOCTL_SET_EXPOSURE_MODE,
|
||||||
|
HHPSD_IOCTL_SET_ILLUMINATOR_INTENSITY,
|
||||||
|
HHPSD_IOCTL_SET_AIMER_INTENSITY,
|
||||||
|
HHPSD_IOCTL_NEW_IMAGE_AVAILABLE,
|
||||||
|
HHPSD_IOCTL_PREVENT_AIMER_IN_IMAGES,
|
||||||
|
HHPSD_IOCTL_GET_IMAGE_ATTRIBUTES,
|
||||||
|
HHPSD_IOCTL_RECONFIG_ENGINE,
|
||||||
|
HHPSD_IOCTL_SINGLE_FRAME_CAPTURE,
|
||||||
|
HHPSD_IOCTL_GET_REVISION_STRING,
|
||||||
|
HHPSD_IOCTL_GET_IMAGER_PROPERTIES,
|
||||||
|
HHPSD_IOCTL_POWER_OFF_IMAGER,
|
||||||
|
HHPSD_IOCTL_SET_ENGINE_CONFIG,
|
||||||
|
HHPSD_IOCTL_GET_ENGINE_CONFIG,
|
||||||
|
HHPSD_IOCTL_WRITE_PSOC_REG,
|
||||||
|
HHPSD_IOCTL_READ_PSOC_REG,
|
||||||
|
HHPSD_IOCTL_WRITE_PSOC,
|
||||||
|
HHPSD_IOCTL_READ_PSOC
|
||||||
|
// HHPSD_IOCTL_WRITE_I2C_PSOC,
|
||||||
|
// HHPSD_IOCTL_READ_I2C_PSOC
|
||||||
|
}HHPScanDriverIOCTL_t;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
HHPSD_EXPOSURE_FIXED,
|
||||||
|
HHPSD_AUTOEXPOSURE_USE_ONCHIP,
|
||||||
|
HHPSD_AUTOEXPOSURE_USE_HHP
|
||||||
|
}HHPScanDriverAutoExposureMode_t;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
HHPSD_ILLUM_AIMER_OFF,
|
||||||
|
HHPSD_ILLUM_ONLY_ON,
|
||||||
|
HHPSD_AIMER_ONLY_ON,
|
||||||
|
HHPSD_ILLUM_AIMER_ON
|
||||||
|
} HHPScanDriverIlluminationStates_t;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
HHPSD_AE_METHOD_UNIFORM,
|
||||||
|
HHPSD_AE_METHOD_CENTER_ONLY,
|
||||||
|
HHPSD_AE_METHOD_CENTER_WEIGHTED
|
||||||
|
} HHPScanDriverHHPExposureMethod;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
HHPSD_SPECULAR_EXCLUSION_OFF,
|
||||||
|
HHPSD_SPECULAR_EXCLUSION_MINIMAL,
|
||||||
|
HHPSD_SPECULAR_EXCLUSION_MODERATE,
|
||||||
|
HHPSD_SPECULAR_EXCLUSION_AGGRESSIVE,
|
||||||
|
HHPSD_SPECULAR_EXCLUSION_SPECIAL
|
||||||
|
} HHPScanDriverHHPExposureSpecularExclusion;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
HHPSD_ENGINE_IMAGER_OV7120,
|
||||||
|
HHPSD_ENGINE_IMAGER_ICMEDIA,
|
||||||
|
HHPSD_ENGINE_LINEAR_IMAGER_TOSHIBA,
|
||||||
|
HHPSD_ENGINE_IMAGER_ALD_ICMEDIA,
|
||||||
|
HHPSD_ENGINE_IMAGER_MI1300,
|
||||||
|
HHPSD_ENGINE_IMAGER_STM_VC700,
|
||||||
|
HHPSD_ENGINE_IMAGER_STM_VC602,
|
||||||
|
HHPSD_ENGINE_IMAGER_MICRON_MT9V022
|
||||||
|
} HHPScanDriverEngineType_t;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
HHPSD_IMAGE_STAT_EXPOSURE,
|
||||||
|
HHPSD_IMAGE_STAT_GAIN,
|
||||||
|
HHPSD_IMAGE_STAT_ILLUM_VALUE,
|
||||||
|
HHPSD_IMAGE_STAT_ILLUM_MAXIMUM,
|
||||||
|
HHPSD_IMAGE_STAT_ILLUM_CLIP,
|
||||||
|
HHPSD_IMAGE_STAT_HEIGHT,
|
||||||
|
HHPSD_IMAGE_STAT_WIDTH
|
||||||
|
} HHPScanDriverImageAttributes_t;
|
||||||
|
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
IP_SIZE,
|
||||||
|
IP_ENGINE_ID,
|
||||||
|
IP_NUM_ROWS,
|
||||||
|
IP_NUM_COLS,
|
||||||
|
IP_BITS_PER_PIXEL,
|
||||||
|
IP_ROTATION,
|
||||||
|
IP_AIMER_X_OFFSET,
|
||||||
|
IP_AIMER_Y_OFFSET,
|
||||||
|
IP_YDEPTH
|
||||||
|
} HHPScanDriverImagerProperties_t;
|
||||||
|
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
HHPSD_ILLUMINATION_TYPE,
|
||||||
|
HHPSD_LED_CONTROL_MODE,
|
||||||
|
HHPSD_PIXEL_CLOCK_FREQUENCY,
|
||||||
|
HHPSD_ENGINE_ID,
|
||||||
|
HHPSD_ENGINE_FW_CKSUM,
|
||||||
|
HHPSD_ENGINE_FW_VERSION,
|
||||||
|
HHPSD_ENGINE_AIMER_X_CENTER,
|
||||||
|
HHPSD_ENGINE_AIMER_Y_CENTER,
|
||||||
|
HHSD_NUM_ENGINE_CFG_ITEMS
|
||||||
|
} HHPScanDriverEngineConfiguration_t;
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
124
src/JanamScnCompatible.h
Normal file
124
src/JanamScnCompatible.h
Normal file
|
@ -0,0 +1,124 @@
|
||||||
|
/******************************************************************************
|
||||||
|
*
|
||||||
|
* Conversion between old functions to new functions
|
||||||
|
*
|
||||||
|
* Copyright (c) 2006 Janam Partners LLC. All rights reserved.
|
||||||
|
*
|
||||||
|
* File: JanamExtendedStruct.h
|
||||||
|
*
|
||||||
|
* Release: Palm OS 5.x
|
||||||
|
*
|
||||||
|
* Description: Extended Struct for using BABBO devices
|
||||||
|
*
|
||||||
|
* History:
|
||||||
|
* Version 1.0 PT, JL Oct, 2006
|
||||||
|
*
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
#define ScanOpenDecoder ScnOpenDecoder
|
||||||
|
#define ScanCloseDecoder ScnCloseDecoder
|
||||||
|
#define ScanCmdScanDisable ScnCmdScanDisable
|
||||||
|
#define ScanCmdScanEnable ScnCmdScanEnable
|
||||||
|
#define ScanCmdStartDecode ScnCmdStartDecode
|
||||||
|
#define ScanCmdStopDecode ScnCmdStopDecode
|
||||||
|
#define ScanCmdAimOn ScnCmdAimOn
|
||||||
|
#define ScanCmdAimOff ScnCmdAimOff
|
||||||
|
#define ScanCmdSendParams ScnCmdSendParams
|
||||||
|
#define ScanCmdGetAllParams ScnCmdGetAllParams
|
||||||
|
#define ScanCmdBeep ScnCmdBeep
|
||||||
|
#define ScanGetDecodedData ScnGetDecodedData
|
||||||
|
#define ScanGetExtendedDecodedData ScnGetExtendedDecodedData
|
||||||
|
#define ScanCmdParamDefaults ScnCmdParamDefaults
|
||||||
|
#define ScanGetDecoderVersion ScnGetDecoderVersion
|
||||||
|
#define ScanGetScanManagerVersion ScnGetScanManagerVersion
|
||||||
|
#define ScanGetScanPortDriverVersion ScnGetScanPortDriverVersion
|
||||||
|
#define ScanSetBarcodeEnabled ScnSetBarcodeEnabled
|
||||||
|
#define ScanGetBarcodeEnabled ScnGetBarcodeEnabled
|
||||||
|
#define ScanSetDecodeUpcEanSupplementals ScnSetDecodeUpcEanSupplementals
|
||||||
|
#define ScanGetDecodeUpcEanSupplementals ScnGetDecodeUpcEanSupplementals
|
||||||
|
#define ScanSetDecodeUpcEanRedundancy ScnSetDecodeUpcEanRedundancy
|
||||||
|
#define ScanGetDecodeUpcEanRedundancy ScnGetDecodeUpcEanRedundancy
|
||||||
|
#define ScanSetTransmitCheckDigit ScnSetTransmitCheckDigit
|
||||||
|
#define ScanGetTransmitCheckDigit ScnGetTransmitCheckDigit
|
||||||
|
#define ScanSetUpcPreamble ScnSetUpcPreamble
|
||||||
|
#define ScanGetUpcPreamble ScnGetUpcPreamble
|
||||||
|
#define ScanSetConvert ScnSetConvert
|
||||||
|
#define ScanGetConvert ScnGetConvert
|
||||||
|
#define ScanSetEanZeroExtend ScnSetEanZeroExtend
|
||||||
|
#define ScanGetEanZeroExtend ScnGetEanZeroExtend
|
||||||
|
#define ScanSetUpcEanSecurityLevel ScnSetUpcEanSecurityLevel
|
||||||
|
#define ScanGetUpcEanSecurityLevel ScnGetUpcEanSecurityLevel
|
||||||
|
#define ScanSetCode32Prefix ScnSetCode32Prefix
|
||||||
|
#define ScanGetCode32Prefix ScnGetCode32Prefix
|
||||||
|
#define ScanSetBarcodeLengths ScnSetBarcodeLengths
|
||||||
|
#define ScanGetBarcodeLengths ScnGetBarcodeLengths
|
||||||
|
#define ScanSetCode39CheckDigitVerification ScnSetCode39CheckDigitVerification
|
||||||
|
#define ScanGetCode39CheckDigitVerification ScnGetCode39CheckDigitVerification
|
||||||
|
#define ScanSetI2of5CheckDigitVerification ScnSetI2of5CheckDigitVerification
|
||||||
|
#define ScanGetI2of5CheckDigitVerification ScnGetI2of5CheckDigitVerification
|
||||||
|
#define ScanSetClsiEditing ScnSetClsiEditing
|
||||||
|
#define ScanGetClsiEditing ScnGetClsiEditing
|
||||||
|
#define ScanSetNotisEditing ScnSetNotisEditing
|
||||||
|
#define ScanGetNotisEditing ScnGetNotisEditing
|
||||||
|
#define ScanSetMsiPlesseyCheckDigits ScnSetMsiPlesseyCheckDigits
|
||||||
|
#define ScanGetMsiPlesseyCheckDigits ScnGetMsiPlesseyCheckDigits
|
||||||
|
#define ScanSetMsiPlesseyCheckDigitAlgorithm ScnSetMsiPlesseyCheckDigitAlgorithm
|
||||||
|
#define ScanGetMsiPlesseyCheckDigitAlgorithm ScnGetMsiPlesseyCheckDigitAlgorithm
|
||||||
|
#define ScanSetLaserOnTime ScnSetLaserOnTime
|
||||||
|
#define ScanGetLaserOnTime ScnGetLaserOnTime
|
||||||
|
#define ScanSetAimDuration ScnSetAimDuration
|
||||||
|
#define ScanGetAimDuration ScnGetAimDuration
|
||||||
|
#define ScanSetTriggeringModes ScnSetTriggeringModes
|
||||||
|
#define ScanGetTriggeringModes ScnGetTriggeringModes
|
||||||
|
#define ScanSetTimeOutBetweenSameSymbol ScnSetTimeOutBetweenSameSymbol
|
||||||
|
#define ScanGetTimeOutBetweenSameSymbol ScnGetTimeOutBetweenSameSymbol
|
||||||
|
#define ScanSetParameterScanning ScnSetParameterScanning
|
||||||
|
#define ScanGetParameterScanning ScnGetParameterScanning
|
||||||
|
#define ScanSetLinearCodeTypeSecurityLevel ScnSetLinearCodeTypeSecurityLevel
|
||||||
|
#define ScanGetLinearCodeTypeSecurityLevel ScnGetLinearCodeTypeSecurityLevel
|
||||||
|
#define ScanSetBidirectionalRedundancy ScnSetBidirectionalRedundancy
|
||||||
|
#define ScanGetBidirectionalRedundancy ScnGetBidirectionalRedundancy
|
||||||
|
#define ScanSetTransmitCodeIdCharacter ScnSetTransmitCodeIdCharacter
|
||||||
|
#define ScanGetTransmitCodeIdCharacter ScnGetTransmitCodeIdCharacter
|
||||||
|
#define ScanSetPrefixSuffixValues ScnSetPrefixSuffixValues
|
||||||
|
#define ScanGetPrefixSuffixValues ScnGetPrefixSuffixValues
|
||||||
|
#define ScanSetScanDataTransmissionFormat ScnSetScanDataTransmissionFormat
|
||||||
|
#define ScanSetAngle ScnSetAngle
|
||||||
|
#define ScanGetAngle ScnGetAngle
|
||||||
|
#define ScanGetScanDataTransmissionFormat ScnGetScanDataTransmissionFormat
|
||||||
|
#define ScanCmdLedOn ScnCmdLedOn
|
||||||
|
#define ScanCmdLedOff ScnCmdLedOff
|
||||||
|
#define ScanSetHostSerialResponseTimeOut ScnSetHostSerialResponseTimeOut
|
||||||
|
#define ScanGetHostSerialResponseTimeOut ScnGetHostSerialResponseTimeOut
|
||||||
|
#define ScanSetHostCharacterTimeOut ScnSetHostCharacterTimeOut
|
||||||
|
#define ScanGetHostCharacterTimeOut ScnGetHostCharacterTimeOut
|
||||||
|
#define ScanSetIntercharacterDelay ScnSetIntercharacterDelay
|
||||||
|
#define ScanGetIntercharacterDelay ScnGetIntercharacterDelay
|
||||||
|
#define ScanSetBeepAfterGoodDecode ScnSetBeepAfterGoodDecode
|
||||||
|
#define ScanGetBeepAfterGoodDecode ScnGetBeepAfterGoodDecode
|
||||||
|
#define ScanSetBeepDuration ScnSetBeepDuration
|
||||||
|
#define ScanGetBeepDuration ScnGetBeepDuration
|
||||||
|
#define ScanSetBeepFrequency ScnSetBeepFrequency
|
||||||
|
#define ScanGetBeepFrequency ScnGetBeepFrequency
|
||||||
|
#define ScanSetDecodeLedOnTime ScnSetDecodeLedOnTime
|
||||||
|
#define ScanGetDecodeLedOnTime ScnGetDecodeLedOnTime
|
||||||
|
#define ScanGetAimMode ScnGetAimMode
|
||||||
|
#define ScanGetScanEnabled ScnGetScanEnabled
|
||||||
|
#define ScanGetLedState ScnGetLedState
|
||||||
|
#define ScanIsPalmSymbolUnit ScnIsJanamUnit
|
||||||
|
#define ScanSetCode39FullAscii ScnSetCode39FullAscii
|
||||||
|
#define ScanGetCode39FullAscii ScnGetCode39FullAscii
|
||||||
|
#define ScanCmdTrigSledOn ScnCmdTrigSledOn
|
||||||
|
#define ScanCmdTrigSledOff ScnCmdTrigSledOff
|
||||||
|
#define ScanGetTrigSledMode ScnGetTrigSledMode
|
||||||
|
|
||||||
|
//The followings are extended functions supported by BABBO devices
|
||||||
|
//Define as ScanCmd<FunctionName> are only for convenience
|
||||||
|
#define ScanCmdReadSymbologyConfig ScnCmdReadSymbologyConfig
|
||||||
|
#define ScanCmdWriteSymbologyConfig ScnCmdWriteSymbologyConfig
|
||||||
|
#define ScanCmdSetupOCR ScnCmdSetupOCR
|
||||||
|
#define ScanCmdGetSetupOCR ScnCmdGetSetupOCR
|
||||||
|
#define ScanCmdAimerOn ScnCmdAimerOn
|
||||||
|
#define ScanCmdLightsOn ScnCmdLightsOn
|
||||||
|
|
1496
src/MeazuraLib_V305.h
Normal file
1496
src/MeazuraLib_V305.h
Normal file
File diff suppressed because it is too large
Load diff
231
src/ScanMgr.h
Normal file
231
src/ScanMgr.h
Normal file
|
@ -0,0 +1,231 @@
|
||||||
|
/******************************************************************************
|
||||||
|
*
|
||||||
|
* Barcode Scanner Demo Application
|
||||||
|
*
|
||||||
|
* Copyright (c) 2006 Janam Partners LLC. All rights reserved.
|
||||||
|
*
|
||||||
|
* File: ScanMgr.h
|
||||||
|
*
|
||||||
|
* Release: Palm OS 5.x
|
||||||
|
*
|
||||||
|
* Description: Reserved for backward compatible
|
||||||
|
* Utility functions header
|
||||||
|
*
|
||||||
|
* History:
|
||||||
|
* Version 1.0 PT, JL Oct, 2006
|
||||||
|
*
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
//#pragma once
|
||||||
|
#ifndef __SCANMGR_H__
|
||||||
|
#define __SCANMGR_H__
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "ScanMgrStruct.h"
|
||||||
|
#include "ScanMgrDef.h"
|
||||||
|
#include "ScanWedge.h"
|
||||||
|
#include "JanamExtended.h"
|
||||||
|
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
//Check if it is a Janam device
|
||||||
|
Int16 ScnIsJanamUnit();
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
//Connect or disconnect the barcode scanner library
|
||||||
|
Int16 ScnOpenDecoder();
|
||||||
|
Int16 ScnCloseDecoder();
|
||||||
|
|
||||||
|
//Send or retrieve parameters
|
||||||
|
Int16 ScnCmdSendParams( BeepType beep );
|
||||||
|
Int16 ScnCmdGetAllParams( UInt8* pbParams, UInt16 max_length );
|
||||||
|
|
||||||
|
//Inquire current scanner/decoder/port driver versions
|
||||||
|
Int16 ScnGetScanManagerVersion( Char * pszVer, UInt16 max_length );
|
||||||
|
Int16 ScnGetScanPortDriverVersion( Char * pszVer, UInt16 max_length );
|
||||||
|
Int16 ScnGetDecoderVersion( Char * pszVer, UInt16 max_length);
|
||||||
|
|
||||||
|
//Get the decode and extended data
|
||||||
|
Int16 ScnGetDecodedData( MESSAGE *ptr);
|
||||||
|
Int16 ScnGetExtendedDecodedData( Int16 length, Int16 *type, UInt8 *extendedData);
|
||||||
|
|
||||||
|
//Enable or disable a barcode symbology
|
||||||
|
Int16 ScnSetBarcodeEnabled( BarType barcodeType, Boolean bEnable );
|
||||||
|
Int16 ScnGetBarcodeEnabled( BarType barcodeType );
|
||||||
|
|
||||||
|
//Set and get the barcode length of a barcode symbology
|
||||||
|
Int16 ScnSetBarcodeLengths( BarType barcodeType, UInt16 lengthType, UInt16 length1, UInt16 length2 );
|
||||||
|
Int16 ScnGetBarcodeLengths( BarType barcodeType, UInt16* pLengthType, UInt16* pLength1, UInt16* pLength2 );
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
//UpcPreamble
|
||||||
|
Int16 ScnSetUpcPreamble( BarType barcodeType, Int16 preamble);
|
||||||
|
Int16 ScnGetUpcPreamble( BarType barcodeType);
|
||||||
|
|
||||||
|
//Prefix Suffix
|
||||||
|
Int16 ScnSetPrefixSuffixValues( Int8 prefix, Int8 suffix_1, Int8 suffix_2 );
|
||||||
|
Int16 ScnGetPrefixSuffixValues( Char * pPrefix, Char * pSuffix_1, Char * pSuffix_2 );
|
||||||
|
|
||||||
|
//Code32
|
||||||
|
Int16 ScnSetCode32Prefix( Boolean bEnable );
|
||||||
|
Int16 ScnGetCode32Prefix(void);
|
||||||
|
|
||||||
|
//Conversion
|
||||||
|
Int16 ScnSetConvert( ConvertType conversion, Boolean bEnable);
|
||||||
|
Int16 ScnGetConvert( ConvertType conversion);
|
||||||
|
|
||||||
|
//Check Digit
|
||||||
|
Int16 ScnSetTransmitCheckDigit( BarType barType, UInt16 check_digit );
|
||||||
|
Int16 ScnGetTransmitCheckDigit( BarType barType );
|
||||||
|
|
||||||
|
//Code 39 Check Digit Verification
|
||||||
|
Int16 ScnSetCode39CheckDigitVerification(UInt16 check_digit);
|
||||||
|
Int16 ScnGetCode39CheckDigitVerification(void);
|
||||||
|
|
||||||
|
//I2of5 Check Digit Verification
|
||||||
|
Int16 ScnSetI2of5CheckDigitVerification( UInt16 check_digit );
|
||||||
|
Int16 ScnGetI2of5CheckDigitVerification(void);
|
||||||
|
|
||||||
|
//Msi Plessy Check Digit
|
||||||
|
Int16 ScnSetMsiPlesseyCheckDigits( UInt16 check_digits );
|
||||||
|
Int16 ScnGetMsiPlesseyCheckDigits();
|
||||||
|
|
||||||
|
//Msi Plessy Check Algorithm
|
||||||
|
Int16 ScnSetMsiPlesseyCheckDigitAlgorithm( UInt16 algorithm );
|
||||||
|
Int16 ScnGetMsiPlesseyCheckDigitAlgorithm();
|
||||||
|
|
||||||
|
//Upc Ean Supplementals
|
||||||
|
Int16 ScnSetDecodeUpcEanSupplementals( UInt16 supplementals );
|
||||||
|
Int16 ScnGetDecodeUpcEanSupplementals();
|
||||||
|
|
||||||
|
//Upc Ean Reducdancy
|
||||||
|
Int16 ScnSetDecodeUpcEanRedundancy( UInt16 supplemental_redundancy );
|
||||||
|
Int16 ScnGetDecodeUpcEanRedundancy();
|
||||||
|
|
||||||
|
//Code 39 Full ASCII
|
||||||
|
Int16 ScnSetCode39FullAscii( Boolean bEnable );
|
||||||
|
Int16 ScnGetCode39FullAscii(void);
|
||||||
|
|
||||||
|
//CLSI Editing
|
||||||
|
Int16 ScnSetClsiEditing( Boolean bEnable );
|
||||||
|
Int16 ScnGetClsiEditing();
|
||||||
|
|
||||||
|
//Notis Editing
|
||||||
|
Int16 ScnSetNotisEditing( Boolean bEnable );
|
||||||
|
Int16 ScnGetNotisEditing();
|
||||||
|
|
||||||
|
//UPC EAN Security Level
|
||||||
|
Int16 ScnSetUpcEanSecurityLevel( UInt16 security_level );
|
||||||
|
Int16 ScnGetUpcEanSecurityLevel();
|
||||||
|
|
||||||
|
//EAN Zero Extend
|
||||||
|
Int16 ScnSetEanZeroExtend( Boolean bEnable );
|
||||||
|
Int16 ScnGetEanZeroExtend();
|
||||||
|
|
||||||
|
//Time out
|
||||||
|
Int16 ScnSetHostSerialResponseTimeOut( UInt16 time_out );
|
||||||
|
Int16 ScnGetHostSerialResponseTimeOut();
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
//Reset to factory default
|
||||||
|
Int16 ScnCmdParamDefaults();
|
||||||
|
|
||||||
|
//Enable or disable Scanning function
|
||||||
|
Int16 ScnCmdScanEnable();
|
||||||
|
Int16 ScnCmdScanDisable();
|
||||||
|
|
||||||
|
//Start or stop decode function
|
||||||
|
Int16 ScnCmdStartDecode();
|
||||||
|
Int16 ScnCmdStopDecode();
|
||||||
|
|
||||||
|
//LED On Off
|
||||||
|
Int16 ScnCmdLedOn();
|
||||||
|
Int16 ScnCmdLedOff();
|
||||||
|
|
||||||
|
//Aimer On Off
|
||||||
|
Int16 ScnCmdAimOn();
|
||||||
|
Int16 ScnCmdAimOff();
|
||||||
|
|
||||||
|
//Get current status
|
||||||
|
Int16 ScnGetAimMode();
|
||||||
|
Int16 ScnGetScanEnabled();
|
||||||
|
Int16 ScnGetLedState();
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
//Set Laser
|
||||||
|
Int16 ScnSetLaserOnTime( UInt16 laser_on_time);
|
||||||
|
Int16 ScnGetLaserOnTime();
|
||||||
|
|
||||||
|
//Set decode led on time
|
||||||
|
Int16 ScnSetDecodeLedOnTime( UInt16 led_on_time);
|
||||||
|
Int16 ScnGetDecodeLedOnTime();
|
||||||
|
|
||||||
|
//Set Angle
|
||||||
|
Int16 ScnSetAngle( UInt16 scan_angle );
|
||||||
|
Int16 ScnGetAngle();
|
||||||
|
|
||||||
|
//Set aim duration
|
||||||
|
Int16 ScnSetAimDuration( UInt16 aim_duration);
|
||||||
|
Int16 ScnGetAimDuration();
|
||||||
|
|
||||||
|
//Set triggering modes
|
||||||
|
Int16 ScnSetTriggeringModes( UInt16 triggering_mode);
|
||||||
|
Int16 ScnGetTriggeringModes();
|
||||||
|
|
||||||
|
//Set time out
|
||||||
|
Int16 ScnSetTimeOutBetweenSameSymbol( UInt16 time_out );
|
||||||
|
Int16 ScnGetTimeOutBetweenSameSymbol();
|
||||||
|
|
||||||
|
//Set Linear Security Level
|
||||||
|
Int16 ScnSetLinearCodeTypeSecurityLevel( UInt16 security_level );
|
||||||
|
Int16 ScnGetLinearCodeTypeSecurityLevel();
|
||||||
|
|
||||||
|
//Set Bidirectional Redundancy
|
||||||
|
Int16 ScnSetBidirectionalRedundancy( UInt16 redundancy );
|
||||||
|
Int16 ScnGetBidirectionalRedundancy();
|
||||||
|
|
||||||
|
//Set Transmit Code Id Character
|
||||||
|
Int16 ScnSetTransmitCodeIdCharacter( UInt16 code_id );
|
||||||
|
Int16 ScnGetTransmitCodeIdCharacter();
|
||||||
|
|
||||||
|
//Set Scan Data Transmission
|
||||||
|
Int16 ScnSetScanDataTransmissionFormat( UInt16 transmission_format );
|
||||||
|
Int16 ScnGetScanDataTransmissionFormat();
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
//Beep Sound
|
||||||
|
Int16 ScnCmdBeep( BeepType beep );
|
||||||
|
|
||||||
|
//Set beep sound for decoding
|
||||||
|
Int16 ScnSetBeepAfterGoodDecode( Boolean bEnableBeep );
|
||||||
|
Int16 ScnGetBeepAfterGoodDecode();
|
||||||
|
|
||||||
|
//Set beep sound frequency
|
||||||
|
Int16 ScnSetBeepFrequency( FrequencyType type, Int16 beep_freq );
|
||||||
|
Int16 ScnGetBeepFrequency( FrequencyType type );
|
||||||
|
|
||||||
|
//Set beep duration
|
||||||
|
Int16 ScnSetBeepDuration( DurationType type, Int16 beep_duration );
|
||||||
|
Int16 ScnGetBeepDuration( DurationType type );
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
//Set sled function
|
||||||
|
Int16 ScnCmdTrigSledOn();
|
||||||
|
Int16 ScnCmdTrigSledOff();
|
||||||
|
Int16 ScnGetTrigSledMode();
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
237
src/ScanMgrDef.h
Normal file
237
src/ScanMgrDef.h
Normal file
|
@ -0,0 +1,237 @@
|
||||||
|
/******************************************************************************
|
||||||
|
*
|
||||||
|
* Barcode Scanner Common Defines.
|
||||||
|
*
|
||||||
|
* Copyright (c) 2006 Janam Partners LLC. All rights reserved.
|
||||||
|
*
|
||||||
|
* File: ScanMgrDef.h
|
||||||
|
*
|
||||||
|
* Release: Palm OS 5.x
|
||||||
|
*
|
||||||
|
* Description: Reserved for backward compatible
|
||||||
|
* Common defines for the scanner library
|
||||||
|
* Extended defines are in JanamExtendedDef.h
|
||||||
|
* History:
|
||||||
|
* Version 1.0 PT, JL Oct, 2006
|
||||||
|
*
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
#ifndef __SCANMGRDEF_H__
|
||||||
|
#define __SCANMGRDEF_H__
|
||||||
|
|
||||||
|
//#pragma once
|
||||||
|
|
||||||
|
#include "JanamExtendedDef.h"
|
||||||
|
|
||||||
|
/*******************************************************************
|
||||||
|
* Symbol unit hardware token (checked in ScanIsPalmSymbolUnit)
|
||||||
|
*******************************************************************/
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define SymbolROMToken 'scnr'
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
//Defines for Backward Compatible
|
||||||
|
|
||||||
|
//Beep Frequecy and Duration
|
||||||
|
#define MIN_BEEP_DURATION 0
|
||||||
|
#define MAX_BEEP_DURATION 10000
|
||||||
|
#define MIN_BEEP_FREQUENCY 0
|
||||||
|
#define MAX_BEEP_FREQUENCY 15000
|
||||||
|
#define MIN_UPCEAN_REDUNDANCY 2
|
||||||
|
#define MAX_UPCEAN_REDUNDANCY 20
|
||||||
|
#define MIN_LASER_ON_TIME 5
|
||||||
|
#define MAX_LASER_ON_TIME 99
|
||||||
|
#define MAX_AIM_DURATION 99
|
||||||
|
#define MAX_TIMEOUT_BETWEEN_SYMBOL 10
|
||||||
|
#define MAX_DECODE_LED_ON_TIME 100
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
//Beep and Scanner Range Values
|
||||||
|
#define SHORT_BEEP_DUR 0x20
|
||||||
|
#define MEDIUM_BEEP_DUR 0x21
|
||||||
|
#define LONG_BEEP_DUR 0x22
|
||||||
|
#define HIGH_FREQ 0x23
|
||||||
|
#define MEDIUM_FREQ 0x24
|
||||||
|
#define LOW_FREQ 0x25
|
||||||
|
#define DECODE_BEEP_DUR 0x27
|
||||||
|
#define DECODE_BEEP_FREQ 0x28
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
//Error Code Returns
|
||||||
|
#define STATUS_OK 0
|
||||||
|
#define NOT_SUPPORTED -2
|
||||||
|
#define COMMUNICATIONS_ERROR -3
|
||||||
|
#define BAD_PARAM -4
|
||||||
|
#define BATCH_ERROR -5
|
||||||
|
#define ERROR_UNDEFINED -6
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
//Triggering Modes
|
||||||
|
#define LEVEL 0x00
|
||||||
|
#define PULSE 0x02
|
||||||
|
#define HOST 0x08
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
//Enable or Disable
|
||||||
|
#define DISABLE 0x00
|
||||||
|
#define ENABLE 0x01
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
//Security Levels
|
||||||
|
#define SECURITY_LEVEL0 0x00
|
||||||
|
#define SECURITY_LEVEL1 0x01
|
||||||
|
#define SECURITY_LEVEL2 0x02
|
||||||
|
#define SECURITY_LEVEL3 0x03
|
||||||
|
#define SECURITY_LEVEL4 0x04
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
//Supplementals
|
||||||
|
#define IGNORE_SUPPLEMENTALS 0x00
|
||||||
|
#define DECODE_SUPPLEMENTALS 0x01
|
||||||
|
#define AUTODISCRIMINATE_SUPPLEMENTALS 0x02
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
//Transmit Check Digit
|
||||||
|
#define DO_NOT_TRANSMIT_CHECK_DIGIT 0x00
|
||||||
|
#define TRANSMIT_CHECK_DIGIT 0x01
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
//Preamble
|
||||||
|
#define NO_PREAMBLE 0x00
|
||||||
|
#define SYSTEM_CHARACTER 0x01
|
||||||
|
#define SYSTEM_CHARACTER_COUNTRY_CODE 0x02
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
//Discrete Length
|
||||||
|
#define ANY_LENGTH 0x00
|
||||||
|
#define ONE_DISCRETE_LENGTH 0x01
|
||||||
|
#define TWO_DISCRETE_LENGTHS 0x02
|
||||||
|
#define LENGTH_WITHIN_RANGE 0x03
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
//Check Digit Verification
|
||||||
|
#define DISABLE_CHECK_DIGIT 0x00
|
||||||
|
#define USS_CHECK_DIGIT 0x01
|
||||||
|
#define OPCC_CHECK_DIGIT 0x02
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// MSI Plessy Check Digits
|
||||||
|
#define ONE_CHECK_DIGIT 0x00
|
||||||
|
#define TWO_CHECK_DIGITS 0x01
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// MSI Plessey check digit algorithms
|
||||||
|
#define MOD10_MOD11 0x00
|
||||||
|
#define MOD10_MOD10 0x01
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// Aimer Code ID
|
||||||
|
#define AIM_CODE_ID_CHARACTER 0x01
|
||||||
|
#define SYMBOL_CODE_ID_CHARACTER 0x02
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// Prefix and Suffix Values
|
||||||
|
#define PREFIX_SUFFIX_VALUES_P 0x69
|
||||||
|
#define PREFIX_SUFFIX_VALUES_S1 0x68
|
||||||
|
#define PREFIX_SUFFIX_VALUES_S2 0x6A
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// Scan Data Formats
|
||||||
|
#define DATA_AS_IS 0x00
|
||||||
|
#define DATA_SUFFIX1 0x01
|
||||||
|
#define DATA_SUFFIX2 0x02
|
||||||
|
#define DATA_SUFFIX1_SUFFIX2 0x03
|
||||||
|
#define PREFIX_DATA 0x04
|
||||||
|
#define PREFIX_DATA_SUFFIX1 0x05
|
||||||
|
#define PREFIX_DATA_SUFFIX2 0x06
|
||||||
|
#define PREFIX_DATA_SUFFIX1_SUFFIX2 0x07
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// Scan Angles
|
||||||
|
#define SCAN_ANGLE_WIDE 0xB6
|
||||||
|
#define SCAN_ANGLE_NARROW 0xB5
|
||||||
|
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// Barcode data types returned
|
||||||
|
#define BCTYPE_NOT_APPLICABLE 0x00
|
||||||
|
#define BCTYPE_CODE39 0x01
|
||||||
|
#define BCTYPE_CODABAR 0x02
|
||||||
|
#define BCTYPE_CODE128 0x03
|
||||||
|
#define BCTYPE_D2OF5 0x04
|
||||||
|
#define BCTYPE_IATA2OF5 0x05
|
||||||
|
#define BCTYPE_I2OF5 0x06
|
||||||
|
#define BCTYPE_CODE93 0x07
|
||||||
|
#define BCTYPE_UPCA 0x08
|
||||||
|
#define BCTYPE_UPCA_2SUPPLEMENTALS 0x48
|
||||||
|
#define BCTYPE_UPCA_5SUPPLEMENTALS 0x88
|
||||||
|
#define BCTYPE_UPCE0 0x09
|
||||||
|
#define BCTYPE_UPCE0_2SUPPLEMENTALS 0x49
|
||||||
|
#define BCTYPE_UPCE0_5SUPPLEMENTALS 0x89
|
||||||
|
#define BCTYPE_EAN8 0x0A
|
||||||
|
#define BCTYPE_EAN8_2SUPPLEMENTALS 0x4A
|
||||||
|
#define BCTYPE_EAN13_5SUPPLEMENTALS 0x8B
|
||||||
|
#define BCTYPE_EAN8_5SUPPLEMENTALS 0x8A
|
||||||
|
#define BCTYPE_EAN13 0x0B
|
||||||
|
#define BCTYPE_EAN13_2SUPPLEMENTALS 0x4B
|
||||||
|
#define BCTYPE_MSI_PLESSEY 0x0E
|
||||||
|
#define BCTYPE_EAN128 0x0F
|
||||||
|
#define BCTYPE_UPCE1 0x10
|
||||||
|
#define BCTYPE_UPCE1_2SUPPLEMENTALS 0x50
|
||||||
|
#define BCTYPE_UPCE1_5SUPPLEMENTALS 0x90
|
||||||
|
#define BCTYPE_CODE39_FULL_ASCII 0x13
|
||||||
|
#define BCTYPE_TRIOPTIC_CODE39 0x15
|
||||||
|
#define BCTYPE_BOOKLAND_EAN 0x16
|
||||||
|
#define BCTYPE_COUPON_CODE 0x17
|
||||||
|
#define BCTYPE_ISBT128 0x19
|
||||||
|
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
#define EXTENDED_DATA_FLAG 0x01
|
||||||
|
|
||||||
|
|
||||||
|
typedef enum tagSymbolEvent
|
||||||
|
{
|
||||||
|
scanDecodeEvent = 0x7fffU + 0x800, // A decode event has finished
|
||||||
|
scanBatteryErrorEvent, // Low Battery
|
||||||
|
scanTriggerEvent, // A scan attempt was initiated
|
||||||
|
s24BatteryErrorEvent,
|
||||||
|
symbolRFUA,
|
||||||
|
symbolRFUB,
|
||||||
|
symbolRFUC,
|
||||||
|
symbolRFUD,
|
||||||
|
symbolRFUE,
|
||||||
|
symbolRFUF,
|
||||||
|
symbolRFUG,
|
||||||
|
symbolRFUH,
|
||||||
|
|
||||||
|
WanLowBatteryEvent,
|
||||||
|
WanBatteryErrorEvent,
|
||||||
|
|
||||||
|
lastSymbolEvent
|
||||||
|
|
||||||
|
} SymbolEvents;
|
||||||
|
|
||||||
|
|
||||||
|
enum scanMgrErr
|
||||||
|
{
|
||||||
|
scanMgrErrParam = appErrorClass+1,
|
||||||
|
scanMgrErrNotOpen,
|
||||||
|
scanMgrErrStillOpen,
|
||||||
|
scanMgrErrMemory,
|
||||||
|
scanMgrErrLowBatt
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
/*******************************************************************
|
||||||
|
* end of file *
|
||||||
|
*******************************************************************/
|
||||||
|
|
||||||
|
#endif // __SCANMGRDEF_H__
|
299
src/ScanMgrStruct.h
Normal file
299
src/ScanMgrStruct.h
Normal file
|
@ -0,0 +1,299 @@
|
||||||
|
/******************************************************************************
|
||||||
|
*
|
||||||
|
* Barcode Scanner Common Defines.
|
||||||
|
*
|
||||||
|
* Copyright (c) 2006 Janam Partners LLC. All rights reserved.
|
||||||
|
*
|
||||||
|
* File: ScanMgrStruct.h
|
||||||
|
*
|
||||||
|
* Release: Palm OS 5.x
|
||||||
|
*
|
||||||
|
* Description: Reserved for backward compatible
|
||||||
|
* Common structure for using the Scanner Library
|
||||||
|
*
|
||||||
|
* History:
|
||||||
|
* Version 1.0 PT, JL Oct, 2006
|
||||||
|
*
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
#ifndef __SCANMGRSTRUCT_H__
|
||||||
|
#define __SCANMGRSTRUCT_H__
|
||||||
|
|
||||||
|
//#pragma once on
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "ScanMgrDef.h"
|
||||||
|
|
||||||
|
//extended defines and structure
|
||||||
|
#include "JanamExtendedDef.h"
|
||||||
|
#include "JanamExtendedStruct.h"
|
||||||
|
|
||||||
|
//ScanEvent Structure
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
eventsEnum eType;
|
||||||
|
Boolean penDown;
|
||||||
|
Int16 screenX;
|
||||||
|
Int16 screenY;
|
||||||
|
union scanData
|
||||||
|
{
|
||||||
|
struct scanGen
|
||||||
|
{
|
||||||
|
UInt16 data1;
|
||||||
|
UInt16 data2;
|
||||||
|
UInt16 data3;
|
||||||
|
UInt16 data4;
|
||||||
|
UInt16 data5;
|
||||||
|
UInt16 data6;
|
||||||
|
UInt16 data7;
|
||||||
|
UInt16 data8;
|
||||||
|
} scanGen;
|
||||||
|
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
UInt16 batteryLevel;
|
||||||
|
UInt16 batteryErrorType;
|
||||||
|
} batteryError;
|
||||||
|
|
||||||
|
} scanData; // End of union
|
||||||
|
|
||||||
|
} ScanEventType;
|
||||||
|
typedef ScanEventType *ScanEventPtr;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
//Maximum Packet Length
|
||||||
|
#define MAX_PACKET_LENGTH 258
|
||||||
|
|
||||||
|
//Barcode Message Structure
|
||||||
|
typedef struct tagMESSAGE
|
||||||
|
{
|
||||||
|
Int16 length; //data length
|
||||||
|
Int16 type; //barcode type
|
||||||
|
Int16 status; //decode status
|
||||||
|
UInt8 data[MAX_PACKET_LENGTH]; //barcode data
|
||||||
|
} MESSAGE;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
#define MAX_DCD_LENGTH 258
|
||||||
|
|
||||||
|
//DCD Message Structure
|
||||||
|
typedef struct tagMESSAGE_Dcd
|
||||||
|
{
|
||||||
|
Int16 length; // length of the data
|
||||||
|
Int16 type; // contains the barcode type when the msg is DecodeData
|
||||||
|
Int16 status; // should be STATUS_OK
|
||||||
|
UInt8 symLetter;
|
||||||
|
UInt8 symModifier;
|
||||||
|
UInt8 data[MAX_DCD_LENGTH]; // the message data
|
||||||
|
} MESSAGE_Dcd;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
//Batch Structure
|
||||||
|
#define MAX_BATCH_PARAM 247
|
||||||
|
typedef struct tagBATCH
|
||||||
|
{
|
||||||
|
Int16 length;
|
||||||
|
Int16 data[MAX_BATCH_PARAM + 3];
|
||||||
|
} BATCH;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
//Comm Structure. No longer in use
|
||||||
|
typedef struct tagCOMM_STRUCT
|
||||||
|
{
|
||||||
|
Int16 port;
|
||||||
|
Int16 baud;
|
||||||
|
Int16 parity;
|
||||||
|
Int16 stop_bits;
|
||||||
|
Int16 host_timeout;
|
||||||
|
} COMM_STRUCT;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
//Beep Sound enum
|
||||||
|
typedef enum tagBeepType
|
||||||
|
{
|
||||||
|
No_Beep = 0x00,
|
||||||
|
One_Short_High,
|
||||||
|
Two_Short_High,
|
||||||
|
Three_Short_High,
|
||||||
|
Four_Short_High,
|
||||||
|
Five_Short_High,
|
||||||
|
|
||||||
|
One_Short_Low,
|
||||||
|
Two_Short_Low,
|
||||||
|
Three_Short_Low,
|
||||||
|
Four_Short_Low,
|
||||||
|
Five_Short_Low,
|
||||||
|
|
||||||
|
One_Long_High,
|
||||||
|
Two_Long_High,
|
||||||
|
Three_Long_High,
|
||||||
|
Four_Long_High,
|
||||||
|
Five_Long_High,
|
||||||
|
|
||||||
|
One_Long_Low,
|
||||||
|
Two_Long_Low,
|
||||||
|
Three_Long_Low,
|
||||||
|
Four_Long_Low,
|
||||||
|
Five_Long_Low,
|
||||||
|
|
||||||
|
Fast_Warble,
|
||||||
|
Slow_Warble,
|
||||||
|
Mix1,
|
||||||
|
Mix2,
|
||||||
|
Mix3,
|
||||||
|
Mix4,
|
||||||
|
|
||||||
|
Decode_Beep,
|
||||||
|
Bootup_Beep,
|
||||||
|
Parameter_Entry_Error_Beep,
|
||||||
|
Parameter_Defaults_Beep,
|
||||||
|
Parameter_Entered_Beep,
|
||||||
|
Host_Convert_Error_Beep,
|
||||||
|
Transmit_Error_Beep,
|
||||||
|
Parity_Error_Beep,
|
||||||
|
|
||||||
|
Last_Beep
|
||||||
|
} BeepType;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
//Conversion enum
|
||||||
|
typedef enum tagConvertType
|
||||||
|
{
|
||||||
|
convertUpcEtoUpcA,
|
||||||
|
convertUpcE1toUpcA,
|
||||||
|
convertCode39toCode32,
|
||||||
|
convertEan8toEan13,
|
||||||
|
convertI2of5toEan13
|
||||||
|
} ConvertType;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
//Beep Duration enum
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
decodeDuration = DECODE_BEEP_DUR,
|
||||||
|
shortDuration = SHORT_BEEP_DUR,
|
||||||
|
mediumDuration = MEDIUM_BEEP_DUR,
|
||||||
|
longDuration = LONG_BEEP_DUR
|
||||||
|
} DurationType;
|
||||||
|
|
||||||
|
//Beep Frequency enum
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
decodeFrequency = DECODE_BEEP_FREQ,
|
||||||
|
lowFrequency = LOW_FREQ,
|
||||||
|
mediumFrequency = MEDIUM_FREQ,
|
||||||
|
highFrequency = HIGH_FREQ
|
||||||
|
} FrequencyType;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
//Button Type enum
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
buttonDateBook = 0,
|
||||||
|
buttonAddressBook,
|
||||||
|
buttonTodoList,
|
||||||
|
buttonMemoPad
|
||||||
|
} ButtonType;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
//Launch Code enum
|
||||||
|
typedef enum {
|
||||||
|
myAppCmdBatteryAlert = sysAppLaunchCmdCustomBase,
|
||||||
|
myAppCmdS24BatteryAlert,
|
||||||
|
myAppCmdNotUsed
|
||||||
|
} MyAppCustomActionCodes;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
//Decode Parameters
|
||||||
|
#define PACKET_CONTINUATION 0x0002
|
||||||
|
#define MAX_DECODER_PARMS 3750
|
||||||
|
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
//Bar Code Enum Types with Extended Codes provided by Janam
|
||||||
|
typedef enum tagBarType
|
||||||
|
{
|
||||||
|
barCODE39 = 0x00,
|
||||||
|
barUPCA = 0x01,
|
||||||
|
barUPCE = 0x02,
|
||||||
|
barEAN13 = 0x03,
|
||||||
|
barEAN8 = 0x04,
|
||||||
|
barD25 = 0x05,
|
||||||
|
barI2OF5 = 0x06,
|
||||||
|
barCODABAR = 0x07,
|
||||||
|
barCODE128 = 0x08,
|
||||||
|
barCODE93 = 0x09,
|
||||||
|
barTRIOPTIC39 = 0x0D,
|
||||||
|
barUCC_EAN128 = 0x0E,
|
||||||
|
barMSI_PLESSEY = 0x0B,
|
||||||
|
barUPCE1 = 0x0C,
|
||||||
|
barBOOKLAND_EAN = 0x53,
|
||||||
|
barISBT128 = 0x54,
|
||||||
|
barCOUPON = 0x55,
|
||||||
|
barCode32 = 0x56,
|
||||||
|
//EXTENDED Support
|
||||||
|
barAZTEC = 0xC0,
|
||||||
|
barCODE11 = 0xC1,
|
||||||
|
barCODE49 = 0xC2,
|
||||||
|
barCOMPOSITE = 0xC3,
|
||||||
|
barDATAMAXTRIX = 0xC4,
|
||||||
|
barMAXICODE = 0xC5,
|
||||||
|
barMICROPDF = 0xC6,
|
||||||
|
barOCR = 0xC7,
|
||||||
|
barPDF417 = 0xC8,
|
||||||
|
barPOSTNET = 0xC9,
|
||||||
|
barQR = 0xCA,
|
||||||
|
barRSS = 0xCB,
|
||||||
|
barBPO = 0xCC,
|
||||||
|
barCANPOST = 0xCD,
|
||||||
|
barAUSPOST = 0xCE,
|
||||||
|
barIATA25 = 0xCF,
|
||||||
|
barCODABLOCK = 0xD0,
|
||||||
|
barJAPOST = 0xD1,
|
||||||
|
barPLANET = 0xD2,
|
||||||
|
barDUTCHPOST = 0xD3,
|
||||||
|
barTLCODE39 = 0xD4,
|
||||||
|
barMATRIX25 = 0xD5,
|
||||||
|
barCHINAPOST = 0xD6,
|
||||||
|
barKOREAPOST = 0xD7,
|
||||||
|
barTELEPEN = 0xD8,
|
||||||
|
barCODE16K = 0xD9,
|
||||||
|
barPOSICODE = 0xDA,
|
||||||
|
barUSPS4CB = 0xDB,
|
||||||
|
barIDTAG = 0xDC,
|
||||||
|
barRSS_LIM = 0xDD,
|
||||||
|
barRSS_EXP = 0xDE,
|
||||||
|
barMSI = 0xA0,
|
||||||
|
barPlessey = 0xA1,
|
||||||
|
barALL = 0xFF
|
||||||
|
} BarType;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
//Decode Option Structure
|
||||||
|
#define DEC_DECODE_OPTIONS_VER 0x03
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
Int32 Version;
|
||||||
|
Int32 PrintWeight; // Valid range is 1-7
|
||||||
|
Int32 DecodeMode; // Full Omni, Reduced Omni, ALD
|
||||||
|
Int32 LinearRange; // Valid range 1-6
|
||||||
|
Int32 VideoReverse; // 0=disabled, 1=enabled
|
||||||
|
Int32 DecAttemptLimit; // 0 = disabled, Valid range 1-10,000
|
||||||
|
Int32 SearchLimit; // 0 = disabled, Valid range 1-10,000
|
||||||
|
unsigned short AddendaDelay; // (search time for addenda in ms)
|
||||||
|
unsigned short UpcComDelay; // (search time for 2D symbol in UPC COM mode)
|
||||||
|
unsigned short ConcatDelay; // (search time for ISBT/Codabar concatenation)
|
||||||
|
unsigned short MldEnaMask; // Per symbology MLD control
|
||||||
|
Int32 Flags; // special flags
|
||||||
|
} DecodeOptions_t;
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
72
src/ScanWedge.h
Normal file
72
src/ScanWedge.h
Normal file
|
@ -0,0 +1,72 @@
|
||||||
|
/******************************************************************************
|
||||||
|
*
|
||||||
|
* Barcode Scanner Demo Application
|
||||||
|
*
|
||||||
|
* Copyright (c) 2006 Janam Partners LLC. All rights reserved.
|
||||||
|
*
|
||||||
|
* File: SetupDlgs.h
|
||||||
|
*
|
||||||
|
* Release: Palm OS 5.x
|
||||||
|
*
|
||||||
|
* Description: Header define for the Barcode Scanner Demo Application
|
||||||
|
*
|
||||||
|
* History:
|
||||||
|
* Version 1.0 PT, JL Oct, 2006
|
||||||
|
*
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
#ifndef __SCANWEDGE_H__
|
||||||
|
#define __SCANWEDGE_H__
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define kScanWedgePanelCreator 'ScnW'
|
||||||
|
#define kScanWedgePreferencesId 1
|
||||||
|
#define kScanWedgeOpenId 2
|
||||||
|
#define ScanWedgeEnabled 0x1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define BARCODE 0
|
||||||
|
#define CARRIGE_RETURN 1
|
||||||
|
#define LINE_FEED 2
|
||||||
|
#define TAB 3
|
||||||
|
#define PREFIX 4
|
||||||
|
#define SUFFIX 5
|
||||||
|
#define TEMINATE 9
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define MAX_INSERT_CHAR 6
|
||||||
|
#define MAX_PREFIX_CHAR 18
|
||||||
|
#define MAX_SUFFIX_CHAR 18
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
UInt32 ScanWedge;
|
||||||
|
UInt8 ScanWedgeInsertCharOption[MAX_INSERT_CHAR]; //current max is combination of 4 types
|
||||||
|
char ScanWedgePrefix[MAX_PREFIX_CHAR+1];
|
||||||
|
char ScanWedgeSuffix[MAX_SUFFIX_CHAR+1];
|
||||||
|
} ScanWedgePreferencesType;
|
||||||
|
|
||||||
|
#define BC_STRING "<BC>"
|
||||||
|
#define CR_STRING "<CR>"
|
||||||
|
#define LF_STRING "<LF>"
|
||||||
|
#define TAB_STRING "<TB>"
|
||||||
|
#define PREFIX_STRING "<PR>"
|
||||||
|
#define SUFFIX_STRING "<SU>"
|
||||||
|
|
||||||
|
|
||||||
|
#define OPTION_PREFIX 1
|
||||||
|
#define OPTION_SUFFIX 2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
Loading…
Reference in a new issue