Giter Site home page Giter Site logo

avsa242 / max31856-spin Goto Github PK

View Code? Open in Web Editor NEW
0.0 3.0 0.0 145 KB

P8X32A/Propeller, P2X8C4M64P/Propeller2 driver object for the Maxim max31856 thermocouple amplifier

License: MIT License

Propeller Spin 100.00%
p8x32a propeller driver spin max31856 thermocouple amplifier temperature k-type spi

max31856-spin's Introduction

max31856-spin


This is a P8X32A/Propeller, P2X8C4M64P/Propeller 2 driver object for Maxim's MAX31856 SPI Thermocouple amplifier IC.

IMPORTANT: This software is meant to be used with the spin-standard-library (P8X32A) or p2-spin-standard-library (P2X8C4M64P). Please install the applicable library first before attempting to use this code, otherwise you will be missing several files required to build the project.

Salient Features

  • 4-wire SPI connection at up to 1MHz (P1), 5MHz (P2)
  • Reads on-chip cold-junction temperature sensor
  • Reads thermocouple
  • Supports automatic or one-shot conversion modes
  • Supports built-in cold-junction offset compensation
  • Supports 50/60Hz mains power frequency noise rejection
  • Supports setting temperature interrupt thresholds
  • Supports setting/checking for all fault types supported by the sensor
  • Supports setting thermocouple type

Requirements

P1/SPIN1:

  • spin-standard-library
  • 1 extra core/cog for the PASM SPI engine (none if bytecode-based engine is used)

P2/SPIN2:

  • p2-spin-standard-library

Compiler Compatibility

Processor Language Compiler Backend Status
P1 SPIN1 FlexSpin (6.2.1) Bytecode OK
P1 SPIN1 FlexSpin (6.2.1) Native/PASM OK
P2 SPIN2 FlexSpin (6.2.1) NuCode FTBFS
P2 SPIN2 FlexSpin (6.2.1) Native/PASM2 OK

(other versions or toolchains not listed are not supported, and may or may not work)

Limitations

  • The chip has no known identification register, so the driver will start successfully as long as the SPI engine does

max31856-spin's People

Contributors

avsa242 avatar

Watchers

 avatar  avatar  avatar

max31856-spin's Issues

P1: Driver malfunctions when using bytecode-based SPI engine

The temperature data doesn't update when the operating mode is set to continuous, and if the binary is continuously re-loaded, the data does change, but is incorrect. The thermocouple type read back is also incorrect. Experimenting with different SPI modes seems to affect the behavior, but doesn't restore correct functionality.

Sign isn't handled correctly

The sign bit isn't extended to bit 31 in ColdJuncTemp() or ThermocoupleTemp(), so negative temperatures aren't reported correctly.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.