feat(inventory): Phase 1 - scan and validate UPC barcodes #1
Executable
+24890
File diff suppressed because it is too large
Load Diff
+19786
File diff suppressed because it is too large
Load Diff
Executable
+14945
File diff suppressed because it is too large
Load Diff
Executable
+3286
File diff suppressed because it is too large
Load Diff
+161
@@ -0,0 +1,161 @@
|
|||||||
|
CHAPTER 11
|
||||||
|
|
||||||
|
|
||||||
|
HARDWARE REFERENCE
|
||||||
|
|
||||||
|
|
||||||
|
Note: This document is a beta version and may be subject to change.
|
||||||
|
|
||||||
|
|
||||||
|
About this chapter
|
||||||
|
|
||||||
|
|
||||||
|
This chapter presents the details of some of the new hardware present in the Psion Series 3c and Siena
|
||||||
|
machines.
|
||||||
|
|
||||||
|
|
||||||
|
The 15-way SIBO/RS232 connector
|
||||||
|
|
||||||
|
|
||||||
|
Four distinct types of signal are brought in/out via this connector:
|
||||||
|
e RS232 level serial data and handshaking lines
|
||||||
|
e Power in to provide operating power.
|
||||||
|
e A SIBO serial channel at 3V logic levels, to provide an interface to ASIC4/5 based peripherals
|
||||||
|
e 5V power out to power non self-powered peripherals.
|
||||||
|
|
||||||
|
|
||||||
|
Not all of these signals are relevant to both machines; the split being:
|
||||||
|
|
||||||
|
|
||||||
|
The board mounted connector is a Honda type with custom polarisation. The diagram below shows the
|
||||||
|
|
||||||
|
|
||||||
|
pinout of this connector:
|
||||||
|
|
||||||
|
|
||||||
|
11-1
|
||||||
|
|
||||||
|
|
||||||
|
SIENA/SERIES 3C UPGRADE
|
||||||
|
|
||||||
|
|
||||||
|
The pins on the connector have the following functions:
|
||||||
|
Siena Vin at +6Vd.c., 10% —
|
||||||
|
Series 3c 5V Power out, 30mA maximum.
|
||||||
|
RTS (RS232)
|
||||||
|
DTR (RS2372)
|
||||||
|
TXD (RS232)
|
||||||
|
DSR (RS232)
|
||||||
|
DCD (RS232)
|
||||||
|
CTS (RS232)
|
||||||
|
RXD (RS2372)
|
||||||
|
|
||||||
|
|
||||||
|
0 mn nNn nn fF W WN
|
||||||
|
|
||||||
|
|
||||||
|
SDOE - SIBO data direction control.
|
||||||
|
|
||||||
|
|
||||||
|
—
|
||||||
|
o
|
||||||
|
|
||||||
|
|
||||||
|
EXTSTAT - active low SIBO peripheral detect line.
|
||||||
|
|
||||||
|
|
||||||
|
ee
|
||||||
|
ee
|
||||||
|
|
||||||
|
|
||||||
|
EXON - SIBO external turn-on
|
||||||
|
|
||||||
|
|
||||||
|
=
|
||||||
|
N
|
||||||
|
|
||||||
|
|
||||||
|
INT - SIBO peripheral interrupt
|
||||||
|
|
||||||
|
|
||||||
|
—
|
||||||
|
Ww
|
||||||
|
|
||||||
|
|
||||||
|
SD - SIBO serial data
|
||||||
|
|
||||||
|
|
||||||
|
_
|
||||||
|
Ts
|
||||||
|
|
||||||
|
|
||||||
|
SCK - SIBO data clock
|
||||||
|
|
||||||
|
|
||||||
|
—-
|
||||||
|
—s
|
||||||
|
—>
|
||||||
|
—
|
||||||
|
a
|
||||||
|
—
|
||||||
|
—
|
||||||
|
—
|
||||||
|
—
|
||||||
|
—
|
||||||
|
+
|
||||||
|
ad
|
||||||
|
—_—-
|
||||||
|
|
||||||
|
|
||||||
|
=
|
||||||
|
Nn
|
||||||
|
|
||||||
|
|
||||||
|
GND - Signal and Power ground
|
||||||
|
|
||||||
|
|
||||||
|
GND - Shield frame ground
|
||||||
|
|
||||||
|
|
||||||
|
Key: Out of machine _,
|
||||||
|
Into machine —
|
||||||
|
|
||||||
|
|
||||||
|
Ground —
|
||||||
|
|
||||||
|
|
||||||
|
e The SIBO lines on the Series 3c are not intended to be used for peripherals. They are present
|
||||||
|
on the unit for test purposes only.
|
||||||
|
|
||||||
|
|
||||||
|
e The SIBO lines on the Siena are intended for use with the external SSD drive only, and are
|
||||||
|
filtered to match that peripheral.
|
||||||
|
|
||||||
|
|
||||||
|
e It should be particularly noted that the SIBO lines on pins 9-14 on both machines are at 3V logic
|
||||||
|
levels, as opposed to the 5V levels present on the Series 3a, and are unbuffered; that is, there is no
|
||||||
|
SIBO data direction control imposed on the lines, as is present on the Series 3a external SIBO bus.
|
||||||
|
|
||||||
|
|
||||||
|
e The contacts for pins | and 15 on the socket protrude slightly and make contact before the
|
||||||
|
remaining pins on the connector.
|
||||||
|
|
||||||
|
|
||||||
|
e The only difference between the Series 3c and the Siena pin-outs is the function of pin 1. Applying
|
||||||
|
6V to this pin on the Series 3c will have no detrimental effect. The 5V output on the Series 3c is
|
||||||
|
the normal VCC5 output provided on the SIBO expansion port of an Series 3a, less one Schottky
|
||||||
|
diode drop. The VCCEXT output on Series 3c gets turned on two EPOC ticks after EXTSTAT
|
||||||
|
goes low.
|
||||||
|
|
||||||
|
|
||||||
|
e On the Siena, EXTSTAT directly controls the DNMI line, whilst on the Series 3c, it is polled on
|
||||||
|
PBO6.
|
||||||
|
|
||||||
|
|
||||||
|
e On the Series 3c, the DSR line performs an external wake-up of the machine through an internal
|
||||||
|
connection to the EXON line. This does not happen on the Siena.
|
||||||
|
|
||||||
|
|
||||||
|
11-2
|
||||||
|
|
||||||
|
|
||||||
Executable
+1898
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,86 @@
|
|||||||
|
CHAPTER 7
|
||||||
|
|
||||||
|
|
||||||
|
PROGRAMMING IN HWIF
|
||||||
|
|
||||||
|
|
||||||
|
This document is a beta version and may be subject to change.
|
||||||
|
|
||||||
|
|
||||||
|
This chapter describes the changes and additions that have been made to the HWIF library as a result of the
|
||||||
|
introduction of the Siena and Series 3c machines into the SIBO range.
|
||||||
|
|
||||||
|
|
||||||
|
Grey lines in menus
|
||||||
|
|
||||||
|
|
||||||
|
The introduction of small fonts for dialogs on the Workabout and Siena resulted in a change to the data
|
||||||
|
structures in the property of the GATE class. This caused an inconsistency in the Hwif library between the
|
||||||
|
Series 3a and later machines in the way that it stores the positions of grey lines in menus. For reasons of
|
||||||
|
future consistency, the change has been incorporated in all SIBO machines with ROM version numbers of
|
||||||
|
Ox356F and above. It is therefore present in Workabout, Siena and Series 3c machines, although Series 3c
|
||||||
|
dialogs do not need to make use of the small font.
|
||||||
|
|
||||||
|
|
||||||
|
A suitably written Hwif application that makes no use of grey lines in menus will run on any SIBO
|
||||||
|
machine, regardless of the version of the Hwif library that was used to build it. However, any Hwif
|
||||||
|
application that uses grey lines in its menus and was built with the version of Hwif supplied with version
|
||||||
|
2.10 of the SIBO C SDK will not run on Series 3a machines. Such applications that were built with earlier
|
||||||
|
versions of Hwif will run on the Series 3a, but not on the Workabout, Siena or Series 3c.
|
||||||
|
|
||||||
|
|
||||||
|
All Hwif programs that are linked with the modified Hwif library that is described below can run on the
|
||||||
|
Series 3, Series 3a, Series 3c, Workabout and Siena - provided, of course, that their displays are tailored to
|
||||||
|
the various screen sizes and graphics capabilities of these machines.
|
||||||
|
|
||||||
|
|
||||||
|
Hwif library modification
|
||||||
|
|
||||||
|
|
||||||
|
The Building the Hwif library section in the Advanced use of Hwif chapter of the Programming in Hwif
|
||||||
|
manual explains how to build a customised version of the Hwif library, using the Hwif source files
|
||||||
|
provided with the SIBO C SDK. Before making the modification that is described in this section, you
|
||||||
|
should verify that you can build the existing Hwif library.
|
||||||
|
|
||||||
|
|
||||||
|
The required modification is to the hMenuRun function, which can be found in the hhwif-c source file. The
|
||||||
|
published source for this function is:
|
||||||
|
|
||||||
|
|
||||||
|
GLDEF_C INT hMenuRun ()
|
||||||
|
/*
|
||||||
|
Display and use the menu bar
|
||||||
|
*/
|
||||||
|
{
|
||||||
|
if (_GreyLines)
|
||||||
|
p_bcpy (&DatGate->gate.g.ulines[0], GreyLines,16*sizeof (UWORD) ) ;
|
||||||
|
return (p_send3 (DatGate,O GT MENU RUN, MenuPositions) );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
This needs to be modified as shown below, to take into account the changed data structure that was
|
||||||
|
introduced with ROM version 3.56F:
|
||||||
|
|
||||||
|
|
||||||
|
SIENA/SERIES 3C UPGRADE
|
||||||
|
|
||||||
|
|
||||||
|
GLDEF_C INT hMenuRun ()
|
||||||
|
/*
|
||||||
|
Display and use the menu bar
|
||||||
|
af
|
||||||
|
{
|
||||||
|
if (_GreyLines)
|
||||||
|
{
|
||||||
|
p_bcpy( (BYTE *) &DatGate->gate.g.ulines [0]
|
||||||
|
-((p_version()>0x355f) ? 0 : sizeof (DLG _X CONSTANTS) ),
|
||||||
|
_GreyLines,16*sizeof (UWORD) );
|
||||||
|
}
|
||||||
|
return (p_send3(DatGate,O GT MENU RUN, MenuPositions) );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Once the source file has been modified in this way, you should rebuild the Hwif library and use the rebuilt
|
||||||
|
version when developing Hwif applications for any target SIBO machine.
|
||||||
|
|
||||||
|
|
||||||
Executable
+10904
File diff suppressed because it is too large
Load Diff
+24907
File diff suppressed because it is too large
Load Diff
+23578
File diff suppressed because it is too large
Load Diff
Executable
+1861
File diff suppressed because it is too large
Load Diff
Executable
+17132
File diff suppressed because it is too large
Load Diff
Executable
+14412
File diff suppressed because it is too large
Load Diff
+215
@@ -0,0 +1,215 @@
|
|||||||
|
CHAPTER 5
|
||||||
|
|
||||||
|
|
||||||
|
HWIM REFERENCE
|
||||||
|
|
||||||
|
|
||||||
|
This document is a beta version and may be subject to change.
|
||||||
|
|
||||||
|
|
||||||
|
This manual describes the changes and additions that have been made to the HWIM library as a result of
|
||||||
|
the introduction of the Siena and Series 3c machines into the SIBO range.
|
||||||
|
|
||||||
|
|
||||||
|
Siena and Series 3c
|
||||||
|
The FILELIST class
|
||||||
|
|
||||||
|
|
||||||
|
Very long pathnames are now displayed on the file selector with a leading ellipsis followed by the trailing
|
||||||
|
characters of the pathname.
|
||||||
|
|
||||||
|
|
||||||
|
The HELPLIST class
|
||||||
|
|
||||||
|
|
||||||
|
HELPLIST now folds case when sorting help list entries. This is important if you are writing Help screens
|
||||||
|
and lists for foreign language variants of your software.
|
||||||
|
|
||||||
|
|
||||||
|
The DLGBOX class
|
||||||
|
|
||||||
|
|
||||||
|
All dialog items now have the pR_wIN_IS_DLCTRL flag set. The hSetLandlordFlags () method does nothing
|
||||||
|
if PR_WIN_IS_DLCTR1L is not set. With the exception of acurst, all lodger window classes which assumed
|
||||||
|
that they were components of a DLGBox subclass now only make this assumption if the above flag is set.
|
||||||
|
|
||||||
|
|
||||||
|
There is a new DLGBox flag, DLGBOxX_SMALL_FONT, matching the value of DLGBOx_FROM_HWIF, but never set
|
||||||
|
from HWIF dialogs. (This flag is cleared from non-HWIF dialogs before the dialog is actually run). The
|
||||||
|
purpose of the flag is to allow the Workabout and Siena small font feature to be set from resource files. The
|
||||||
|
flag is harmless for Series 3, Series 3a and Series 3c dialogs.
|
||||||
|
|
||||||
|
|
||||||
|
Infrared communications
|
||||||
|
|
||||||
|
|
||||||
|
System resources
|
||||||
|
|
||||||
|
|
||||||
|
A SYS_IR_POWER_LEVEL resource has been added, giving the text “High” and “Low” for Infrared power
|
||||||
|
levels.
|
||||||
|
|
||||||
|
|
||||||
|
A SYS_PRINTER_IR resource has been added, giving the text “Infrared” as a printer type.
|
||||||
|
|
||||||
|
|
||||||
|
Keypresses
|
||||||
|
|
||||||
|
|
||||||
|
Normally, IR-related keys are captured by the built-in IR data transfer application. If the user disables IR,
|
||||||
|
by selecting another mode of communication, these keypresses are absorbed by the ws process key
|
||||||
|
method of any application’s instance of wsERv. As a general service to the user, the method also displays an
|
||||||
|
“Infrared not enabled” information message. See also the descriptions of the changes to the wsERv class for
|
||||||
|
the Siena and the Series 3c, later in this chapter.
|
||||||
|
|
||||||
|
|
||||||
|
Data transfer and the Link Paste mechanism
|
||||||
|
|
||||||
|
|
||||||
|
The IR data transfer application on the Siena and Series 3c uses the Link Paste mechanism. The data to be
|
||||||
|
transferred is extracted from the selected region of the active edit window in whatever application last
|
||||||
|
declared itself to be the Link Paste server.
|
||||||
|
|
||||||
|
|
||||||
|
An exception to this rule occurs when the currently selected data is a filename in any of the System
|
||||||
|
Screen’s file lists. In this case the whole of that file is transferred.
|
||||||
|
|
||||||
|
|
||||||
|
SIENA/SERIES 3C UPGRADE
|
||||||
|
|
||||||
|
|
||||||
|
Siena
|
||||||
|
|
||||||
|
|
||||||
|
The Siena’s 240x160 screen is half the width of the Series 3a and Series 3c screens. In consequence, great
|
||||||
|
care has to be taken to ensure that lines of text do not exceed the available width. This restriction
|
||||||
|
particularly affects the amount of text that can be displayed in the menu bar and in dialog items.
|
||||||
|
|
||||||
|
|
||||||
|
Menu bars and pull-down menus
|
||||||
|
|
||||||
|
|
||||||
|
The menu bar and pull-down menu borders are thinner than those on the Series 3a , being similar to those
|
||||||
|
used for the Workabout, and the minimum spacing between menu bar items has been reduced. Despite
|
||||||
|
these changes, a typical Siena menu bar can not contain more than, say, five menu titles plus a diamond
|
||||||
|
menu, and the text is restricted to around 26 characters in total. Siena applications with many menu options
|
||||||
|
will, in general, need to make greater use of submenus than equivalent applications running on the Series
|
||||||
|
3a or Series 3c. However, the Siena screen’s width is unlikely to restrict individual pull-down menus,
|
||||||
|
which may contain up to nine items.
|
||||||
|
|
||||||
|
|
||||||
|
Dialogs
|
||||||
|
|
||||||
|
|
||||||
|
Dialogs are displayed in an 11 point font, with thinner borders (DLG_Box d1_init method), as on the
|
||||||
|
Workabout. Up to eleven lines of text, including the dialog title, can be displayed in a Siena dialog.
|
||||||
|
|
||||||
|
|
||||||
|
Siena dialogs can not display more than three action buttons in an AcLIst control.
|
||||||
|
Text items in a cHLIST choice list control are automatically truncated if they are too long to be displayed.
|
||||||
|
|
||||||
|
|
||||||
|
System dialogs
|
||||||
|
|
||||||
|
|
||||||
|
The Siena does not support tone dialling. In consequence, the rpraLpuc free-form tone dialling dialog is
|
||||||
|
disabled, and application software should not attempt to use it. The spranpic dialog has been modified so
|
||||||
|
that its function is simply to display resolved telephone numbers.
|
||||||
|
|
||||||
|
|
||||||
|
The content of the various Print dialogs has been rearranged.
|
||||||
|
Help screens
|
||||||
|
The title displayed does not include a preceding “Help: ”, to compensate for the smaller screen width.
|
||||||
|
|
||||||
|
|
||||||
|
The FILELIST class
|
||||||
|
|
||||||
|
|
||||||
|
An instance of FILELIST no longer displays the time and date for each file. The wn_key method has been
|
||||||
|
modified so that pressing the space bar shows the time and date for the currently selected file.
|
||||||
|
|
||||||
|
|
||||||
|
The CALWIN class
|
||||||
|
On the Siena, an instance of cALWIN can only display the data for a single month.
|
||||||
|
The WSERV class
|
||||||
|
|
||||||
|
|
||||||
|
The ws _process_key method performs the following additional actions:
|
||||||
|
|
||||||
|
|
||||||
|
e if the keypress is that of the decimal separator key in the numeric keypad - with a keycode of
|
||||||
|
W_KEY CALC DECIMAL, 0x156 - it is converted to the current decimal separator , as determined by a
|
||||||
|
call to p_getctd
|
||||||
|
|
||||||
|
|
||||||
|
e if the keypress is one of W_KEY_IR_BRING, 0x140 Of W_KEY_IR_SEND, 0x141 (which would normally
|
||||||
|
be captured by the infrared file/record transfer software) display an information message to the
|
||||||
|
effect that Infrared is disabled
|
||||||
|
|
||||||
|
|
||||||
|
e if the keypress is W_FUNC_MODIFIER with w_KEY MENU (FN and MENU keys pressed together) the
|
||||||
|
Status Window in the System Screen is switched on or off, depending on its current state. Note
|
||||||
|
that CTRL + MENU also toggles the Status Window on the Siena.
|
||||||
|
|
||||||
|
|
||||||
|
Resource files
|
||||||
|
|
||||||
|
|
||||||
|
Several resources have been changed for the Siena to either save screen space or take account of the
|
||||||
|
different keyboard layout:
|
||||||
|
|
||||||
|
|
||||||
|
e the syS MTYPE PROTECTED resource uses the padlock symbol instead of “protected”
|
||||||
|
|
||||||
|
|
||||||
|
e SYS PREVIEW ACC is changed so that PSION + ? exits print preview (instead of PSION + * as on the
|
||||||
|
Series 3a and Series 3c)
|
||||||
|
|
||||||
|
|
||||||
|
e the degree symbol has been added to the resource string syS_SPECIAL CHARACTERS
|
||||||
|
|
||||||
|
|
||||||
|
5 HWIM REFERENCE
|
||||||
|
|
||||||
|
|
||||||
|
Series 3c
|
||||||
|
|
||||||
|
|
||||||
|
In general, the programming interface to HWIM (and XADD) classes is identical with that of the Series 3a.
|
||||||
|
|
||||||
|
|
||||||
|
Menus and dialogs
|
||||||
|
|
||||||
|
|
||||||
|
Menu and dialog borders have been restyled, but the basic geometry is unchanged. Dialogs have thinner
|
||||||
|
borders (DLG_Box dl_init method), There is no difference in the programming interface.
|
||||||
|
|
||||||
|
|
||||||
|
System dialogs
|
||||||
|
|
||||||
|
|
||||||
|
The sETPoRTDLG dialog class offers a selection of Baud rates up to a maximum of 57600, compared with
|
||||||
|
the maximum of 19200 on the Series 3a.
|
||||||
|
|
||||||
|
|
||||||
|
The wn_key methods of the FNEDIT and FNSELWN classes have been modified so that SHIFT + TAB (instead of
|
||||||
|
PSION + TAB) displays the current path in an information message (PSION + TAB is now used to instigate IR
|
||||||
|
file or record transfer).
|
||||||
|
|
||||||
|
|
||||||
|
The dial out code length in the Dial settings dialog (defined in prAL_ENvar, dialdigs.cl) has been increased
|
||||||
|
to 16 characters.
|
||||||
|
|
||||||
|
|
||||||
|
The WSERV class
|
||||||
|
The ws process key method performs the following additional action:
|
||||||
|
|
||||||
|
|
||||||
|
e if the keypress is W_KEY_IR_LINK, 0x142 (which would normally be captured by the infrared
|
||||||
|
file/record transfer software) display an information message to the effect that Infrared is disabled
|
||||||
|
|
||||||
|
|
||||||
|
e the class has been modified to take account of future extension to the resource string
|
||||||
|
SYS_SPECIAL CHARACTERS.
|
||||||
|
|
||||||
|
|
||||||
Executable
+37082
File diff suppressed because it is too large
Load Diff
+1231
File diff suppressed because it is too large
Load Diff
Executable
+4598
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user