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