Git Product home page Git Product logo

i2c-hardware-controller's People

Contributors

riban-bw avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

justifiably

i2c-hardware-controller's Issues

Potentiometer value can be one off target

Setting potentiomter fully up should result in the highest possible value but sometimes it provides a value one less than maximum. This may be after fast or slow movement but does not always occur. It seems to happen at the top end but not at the bottom (zero) end.

Feature: Disable controllers

It may be advantageous to be able to disable controllers to reduce the risk of unused controllers triggering events. Could use a spare configuration switch to disable / enable all controllers. Could write I2C value to each controller to disable / enable.

This may not be an issue if there is insufficient noise on controllers to trigger false signals.

Test feature request

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Validate encoders with resistors work

There are rotary encoder modules with resistors between the wipers and VDD. VDD is not used by HWC and the resistors are not required but the module is popular with hobbyist. Need to check whether pull-up resistors (to a disconnected VDD) impact performance.

Test

Test issue for training.

Add ability to update firmware via I2C

It may be advantageous for the host machine to be able to update the firmware of the I2C HWC. There is already an I2C connection and all other pins are currently utilised. Could we add the ability for firmware update via I2C?

Support Blue Pill STM32 board

The current implementation of I2C HWC supports the Maple Mini STM32 board. It may be advantageous to also support the cheaper Blue Pill STM32 board.

Do not get full scale value through ADC multiplexer

With a potentiometer turned fully up one would expect the ADC reading to be (2^n)-1 (where n is the quantity of bits), e.g. 0x3ff (1023) for 10-bits. This is true with a potentiometer directly feeding an ADC input pin but when a HCF4051BE multiplexer is inserted between the potentiometer and the ADC input pin then the ADC reads a maximum of 0x3d1 (977).

This may be due to impedance of the multiplexer. Need to check the datasheet and do some old-school Thevenin calculations. May be able to add a scaling factor or define a maximum expected value. May be related to the type of multiplexer chip used (just one in the drawer). It may be due to the resistor matrix arrangement. There may be some optimisation possible via code or hardware.

Implement USB interface

It may be advantageous to present the HWC as a USB device which may be plugged into a host device. This would allow the unit to be self contained and used as an external extension rather than an internally connected, integral part of the host device.

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.