2026-02-22 22:58:58 -07:00
|
|
|
|
# Copyright 2025 PostalPortal LLC and Netsyms Technologies LLC
|
|
|
|
|
|
#
|
|
|
|
|
|
# Redistribution and use in source and binary forms, with or
|
|
|
|
|
|
# without modification, are permitted provided that
|
|
|
|
|
|
# the following conditions are met:
|
|
|
|
|
|
# 1. Redistributions of source code must retain
|
|
|
|
|
|
# the above copyright notice, this list of conditions
|
|
|
|
|
|
# and the following disclaimer.
|
|
|
|
|
|
# 2. Redistributions in binary form must reproduce
|
|
|
|
|
|
# the above copyright notice, this list of conditions
|
|
|
|
|
|
# and the following disclaimer in the documentation
|
|
|
|
|
|
# and/or other materials provided with the distribution.
|
|
|
|
|
|
# 3. Neither the name of the copyright holder
|
|
|
|
|
|
# nor the names of its contributors may be used
|
|
|
|
|
|
# to endorse or promote products derived from
|
|
|
|
|
|
# this software without specific prior written permission.
|
|
|
|
|
|
#
|
|
|
|
|
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
|
|
|
|
|
# CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
|
|
|
|
|
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
|
|
|
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
|
|
|
|
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
|
|
|
|
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
|
|
|
|
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
|
|
|
|
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
|
|
|
|
|
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
|
|
|
|
|
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
|
|
|
|
|
|
# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
|
|
|
|
|
# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
|
|
|
|
|
|
# WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
|
|
|
|
|
# THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
|
# Hardware configuration
|
|
|
|
|
|
#
|
|
|
|
|
|
UART_ID = 0 # TX/RX: UART 0: 0/1, 12/13, or 16/17; UART 1: 4/5 or 8/9
|
|
|
|
|
|
UART_TX_PIN=0
|
|
|
|
|
|
UART_RX_PIN=1
|
2026-03-01 01:24:00 -07:00
|
|
|
|
BUZZER_PWM_PIN = 11 # Pin for passive buzzer PWM
|
2026-02-22 22:58:58 -07:00
|
|
|
|
TRIGGER_BUTTON_PIN = 12 # Pin to read for scan trigger button, connect trigger button between this and ground
|
|
|
|
|
|
TRIGGER_PIN = 13 # Pin that connects to the scan module's trigger line, pulls the line low while the user is pressing the trigger button
|
|
|
|
|
|
UP_BUTTON_PIN = 14 # Pin to read for navigation up button
|
|
|
|
|
|
DOWN_BUTTON_PIN = 15 # Pin to read for navigation down button
|
2026-03-01 01:24:00 -07:00
|
|
|
|
LED_PIN = 3 # "LED" for testing, 3 for prod
|
2026-02-22 22:58:58 -07:00
|
|
|
|
FIRMWARE_VERSION = "0.0.1"
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
|
# Scanner configuration
|
|
|
|
|
|
#
|
|
|
|
|
|
SCAN_GAP_MS = 50 # Amount of time to wait for more characters from the scan engine before sending a barcode
|
|
|
|
|
|
MAX_BARCODE_LENGTH = 8192 # Barcodes longer than this from the scan engine are assumed to be a glitch
|
2026-03-01 01:24:00 -07:00
|
|
|
|
TESTMODE = False # Sends a simulated barcode scan every 5 seconds
|
2026-02-22 22:58:58 -07:00
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
|
# USB configuration
|
|
|
|
|
|
#
|
|
|
|
|
|
VID = 0x1209 # USB Vendor ID
|
|
|
|
|
|
PID = 0xA003 # USB Product ID
|
|
|
|
|
|
MANU = "PostalPortal LLC" # USB manufacturer string
|
|
|
|
|
|
PROD = "PostalPoint Barcode Scanner" # USB product string
|
|
|
|
|
|
INTERFACE = "PostalPoint" # Interface string
|
|
|
|
|
|
USBHID_ENABLED = True # Disable USB, use serial output only (good for debugging)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
|
# Display configuration
|
|
|
|
|
|
#
|
|
|
|
|
|
ENABLE_DISPLAY = True # Set to False to ignore display commands
|
|
|
|
|
|
DISPLAY_WIDTH = 128
|
|
|
|
|
|
DISPLAY_HEIGHT = 64
|
|
|
|
|
|
CHAR_WIDTH = 8
|
|
|
|
|
|
CHAR_HEIGHT = 8
|
|
|
|
|
|
# Available pin combinations for I2C:
|
|
|
|
|
|
# I2C 0 – SDA: GP0/GP4/GP8/GP12/GP16/GP20
|
|
|
|
|
|
# I2C 0 – SCL: GP1/GP5/GP9/GP13/GP17/GP21
|
|
|
|
|
|
# I2C 1 – SDA: GP2/GP6/GP10/GP14/GP18/GP26
|
|
|
|
|
|
# I2C 1 – SCL: GP3/GP7/GP11/GP15/GP19/GP27
|
|
|
|
|
|
# Just don't conflict with the pin assignments for the sensor and buttons!
|
|
|
|
|
|
DISPLAY_SDA_PIN = 4
|
|
|
|
|
|
DISPLAY_SCL_PIN = 5
|
|
|
|
|
|
DISPLAY_I2C_CONTROLLER = 0
|