Documentation for “Zerocat Chipflasher” as of Sat, 29 Mar 2025 14:42:10 +0100
Repository:
Version: v2.1.6-0-c57b46eb4
Branch: master

../../firmware2/src/menu.spin.terminal.html

Propeller Spin/PASM Compiler 'OpenSpin' (c)2012-2016 Parallax Inc. DBA Parallax Semiconductor.
Version 1.00.78
Compiling...
../../firmware2/src/menu.spin
|-PCB.spin
  |-time.spin
|-SPIio.spin
  |-SPIclock8.spin
|-SPIflash.spin
  |-ASCII.spin
  |-blocksizes.spin
|-time.spin
|-ASCII.spin
|-error.spin
  |-time.spin
|-connect.spin
  |-ASCII.spin
|-linespec.spin
  |-blocksizes.spin
|-blocksizes.spin
|-txline.spin
  |-ASCII.spin
  |-linespec.spin
    |-blocksizes.spin
|-FullDuplexSerial.spin
|-ADC.spin
Done.
Program size is 24276 bytes

______________________________________________________________________________
********************************************************* File starts here ***
Zerocat Chipflasher --- Flash free firmware, kick the Management Engine.

Copyright (C) 2020, 2021, 2022, 2024, 2025  Kai Mertens 

File menu.spin --- provide a basic menu

This file is part of Zerocat Chipflasher.

See end of file for terms of use.

******************************************************************************


# Interface Description

Object "../../firmware2/src/menu" Interface:

PUB  handshake(baudrate, timeout_sec) : 
PUB  start(vboard, cfg, baudrate, mode) : 

Program:  6065 Longs
Variable: 527 Longs


# Loaded Objects

* PCB
* SPIio
* SPIflash
* time
* ASCII
* error
* connect
* linespec
* blocksizes
* txline
* FullDuplexSerial by Parallax
* Load ADC object to supervise Vspi.


# Constants


## Pins

* LED Pins
* Pins RS232

## Sizes

* Menu Width
* Size of KEYMSG Records
* Size of PROMPT Records
* Blocksize Suspend Trigger during write
* Size of stack for RS232 service routine
* Block Sizes

## Special Characters

* ASCII Characters
* CLIM Characters (Might be changed for debugging purposes.)
* Parallax Terminal Exit Characters

## Bit Definitions

* Status Register Bits, most common, but names vary.

## Modes, Flags, Masks

* FDS Mode
* Line Modes
* FF Modes
* SCAN Modes
* CUT Flags
* SINFO_by_id(), SINFO_by_name() Masks
* Index Mask for doubled buffer size
* Keyreg Initial Value

## Enumerations

* ENUM REGISTER_type
* ENUM ERRCODE_type
* ENUM JOBCODE_type
* ENUM JOBLEVEL_type
* ENUM VTRACK_type
* ENUM MENU_type
* ENUM REPLY_type
* ENUM KEYID_type
* ENUM BUSPOWER_type
* ENUM BUSY_type
* ENUM SPIPWR_type
* ENUM ADDR_type
* ENUM PAYLOAD_type (Motorola Line Data Mode)
* ENUM RX_type
* ENUM RXHEXD_type
* ENUM RXSREC_type
* ENUM COMMAND_type
* ENUM X_type
* ENUM TXMODE_type

## Timings

* Additional SPI Power Up Pulses
* SPI Power Up/Down Timings (milliseconds)
* SPI WIP Timings (1/10 milliseconds)
* Keypress Timings (milliseconds)
* FDS Stop Timing (milliseconds)


# Globals

* Longs for xwrite(), xwrite_AAI() <-> rxfile()
* File and Data transfer
* Global baudrate, set at start
* Global chip ID
* RS232 service
* Stack space for rxfile() method
* Job voltages
* Byte buffer linebuf[] -- Holds a full line
* Byte buffer linedat[] -- Holds binary data of a line
* Toggle index for linebuf[]
* Bytes for xwrite(), xwrite_AAI() <-> rxfile()
* Cog ID for rxfile()
* Cog ID for txservice
* PCB configuration
* Menu configuration


# Functions

________________________________________
PUB  handshake(baudrate, timeout_sec) : 

 Handshake with connect.

__________________________________________
PUB  start(vboard, cfg, baudrate, mode) : 

 Start the menu.
 It is stopped by user input: `q'


# Data

* Strings
* Menu Key Messages


******************************************************************************
Terms of Use:

Zerocat Chipflasher is free software: you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

Zerocat Chipflasher is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License along
with Zerocat Chipflasher.  If not, see <http://www.gnu.org/licenses/>.

************************************************************** End of File ***