Metadata-Version: 2.1
Name: haicu
Version: 0.8.2
Summary: package for HAICU
Author-email: Bryerton Shaw <bryerton@triumf.ca>
Maintainer-email: Bryerton Shaw <bryerton@triumf.ca>
License: MIT License
        
        Copyright (c) [2023] [Bryerton Shaw]
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Description-Content-Type: text/markdown
Provides-Extra: dev
License-File: LICENSE

# HAICU

## Overview

Package and command line utility for controlling and sequencing the MLD1200

The available subcommands are:

- `list` - List of available MLD1200 devices
- `info` - Get full report on MLD1200, all registers and status bits
- `set` - Allows human-readable setting of register values
- `upload` - Upload a new sequence into MLD1200 (does not run!)
- `program` - Upload and start sequence
- `convert` - Convert derived.txt file into .RLE format
- `compare` - Compare a derived file to an RLE file
- `csv` - Future use. Will convert .csv directly to RLE
- `monitor` - Attach to MLD and log errors

Diagnostic subcommands:
- `memtest` - Test the selected MLD by writing then reading random values to DDR memory
- `status` - Low level readback of status registers
- `control` - Low level read/write of control registers
- `memory` - Low level read/write of DDR memory
- `bread` - Low level block read of DDR memory section

## Installation

The recommended installation method is via pip

  To install:
    `pip install haicu`

  To upgrade:
    `pip install -U haicu`

  To run it locally from the source (from the `scripts/haicu` directory):
    `python -m haicu`

## Interactive

 Command:
  `haicu-ctl [-h] [--version] [-v] [-l file] [-s SERIAL] [-j] {list,info,set,upload,program,convert,compare,csv,monitor}`

 Purpose:
  Connects to an MLD1200 device and reads/writes registers, statuses, and memory. Also contains utility functions to create .RLE files for consumption by device.

 Options:

  `-h` or `--help`
  Print out help for general usage or subcommand. Ie: `haicu-ctl -h` or `haicu-ctl reg -h`

  `--version`
  Print out current version

  `-v` or `--verbose`
   Increase logging level, can be used multiple times

  `-l LOG_FILE` or `--log LOG_FILE`
   Specify log file name, instead of standard naming scheme

  `-s SERIAL` or `--serial SERIAL`
   Specify serial number of MLD1200 to connect to

  `-j` or `--json`
   For reads, format output in JSON. Only affects `info`, `register`, `memory`, and `bread`

