FD1 Client Protocol

FieldpineDevices.exe

This program runs on client computers to provide local services. It can load and service fd1 requests locally. It is also able to expose local services to other systems, such as local printers, serial devices, eftpos, scales, scanners etc. Hence the name "Fieldpine Devices".

This page is primarily intended for support personel

FieldpineDevices can automatically install a SSL certificate and manage DNS entries, so that the local PC can offer HTTPS services, which may be required for instore Web Apps to gain access. By using a SSL certificate, communication can be direct between devices on the LAN, which ensures uninterrupted operation when the cloud/internet are unavailable.

Command Line

The following command line switches are available. Switches can use either slash ( / ) or dash ( - ). eg. /debug is identical to -debug

-install
Install the program as a Windows Service so that it runs on system startup. Requires administrator rights
-remove
Remove the program as a Windows Service. Requires administrator rights
-config
-lucy
-iot
-diag
-noregister
-proxy
-debug
Enables debug options for support purposes.

KeywordDescription
errorWrite error messages to stderr
traceWrite trace type messages to stdout

eg. fieldpinedevices -debug error,trace

Config File

On startup, the file fieldpine.txt is read and processed if present. This contains local configuration commands

Network Keywords

httpport
Sets the TCP port to listen on for HTTP connections. Set to zero to disable HTTP
httpport=3096
httpsslport
Sets the TCP port to listen on for HTTPS connections. Set to zero to disable HTTPS
httpsslport=3097
cert
A path to a PEM file for HTTP certificates.
cert=.\mycert.pem

Settings

Local settings can be set with "setting:name=value" to override defaults. For example

setting:configpage=https://example.com/myinstallpage.htm
Available settings are
configpage
A URL of a custom install page to display. This setting is typically only used when developing new install pages
urlserver
A URL base used to fetch all web resources that are internally required, such as config pages. The default is a Fieldpine server
setting:urlserver=https://example.com/path/to/files

Other Keywords

loaddll
The keyword loaddll is used to load additional DLLs into the process. There are restrictions around what DLLs can be loaded and they generally must be signed by Fieldpine. It cannot be used to load random custom DLLs. Most commonly, this is used to load btreader.dll, which listens to Bluetooth announcements on the computer and turns them into messages.
loaddll=btreader.dll
localdevice
Defines a locally available device that FieldpineDevices is to use. The format is = your-name,device-type,type-specific-args.
  • your-name is a friendly name you refer to the device by. It should only be Az09 and space. Do not include punctuation characters.
  • device-type is what type of device is being defined.
  • type-specific-args varies by device-type
localdevice=Main Checkout Scale,scale,com3
runaction
norunaction
Specifies internal micro tasks that should be executed. NoRunaction is used to block an action. If a micro task is set norunaction then this overrides any matching runaction. Essentially norunaction is a way to ensure a task is never executed
runaction=download-ssl
runaction=update-code
runaction=telemetry

KeywordDescription
download-sslAutomatically download addtional required DLLs to enable SSL/TLS mode of operation. Default=yes
update-codeScan and update code versions automatically. Default=yes
telemetrySend minimal telemetry to Fieldpine.