Giter Club home page Giter Club logo

qc3control's People

Contributors

avandalen avatar septillion-git avatar vdeconinck avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qc3control's Issues

Need help!! Not working

Hi,

I tried running the same rig as u have mentioned,
Im not able to figure out why Its not working for me

what I know

  • Im sure its a quick charger, i have seen rating(5v,9v,12v) and also my phone charges with quick charge
  • the voltage levels at D+ D- seem ok, i have also tried reversing D+ and D-, no luck

Can u please help me out!!

Trinket 3.3v support

Hi first of I just wanted to say this is awesome work! Your work on this project and you've opened the door to plenty of devs to use this in their project without having to reinvent the wheel for a reusable, LiPo PSU in their projects without relying on hobby alternatives!

I was wondering, is it possible to use this with a trinket 3.3V? It seems like your data signals are going between the desired 0 - 3.3V with your resistor configuration from your blog post and your diagram. The trinket has two GPIO pins directly connected to the usb D+/D- pins that go between 0 and 3.3 V. Would this be enough to operate this library without the resistor block instead? Worst case can't we find a way to use the fact that the resistance changes on the 0.6v handshake to 20K between the pins, while using the other pins after the startup sequence is complete?

Can't change voltage with 2 wire configuration.

Just an interesting observation: when I use the 2 pin configuration I can change the voltage on my Samsung fastcharger, but not on my Anker battery. But once I switch back to the legacy system I can use the Anker battery. Any ideas why? It says it's a QC3 compatible battery.

Thanks to all who helped make this awesome library.

Is the DM low pin required for QC3 mode?

I have been attempting to use the QC3 library - I may be misunderstanding the code but it appears to require the 3rd DMlow pin within the code? For example

if (_DmLoPin == 0) return QC_ERROR_QC2_ONLY;

QCControl.cpp lines 104, 127, 168

There are other references to this value including digitalWrites to it (the 3 dm...V() functions).

With this line in-place it never gets to the QC3 parts of the code. If I use the 2 arg constructor it sets it to zero (Line 19). I haven't yet attempted a 3 pin setup. (I was wondering if this was an older version of the code compared to your video and descriptions?).

Thanks for the work you've done on this I'm keen to fire it up! I have a QC3 source that apparently goes to 20V so I can test if that helps (I remember you mentioning that you didn't have hardware)

Sorry for posting in the wrong place, I can't do anything more as it is locked

Nice work!

Heyy,

Cool you forked QC2Controll for QC3! Lucky I saw it at Hackaday (since I can't read all articles anymore). I would have liked a message from you and I bed Hugatry as well ๐Ÿ˜‰

But I do have some notes ๐Ÿ˜

The abbreviation "PD" is a bit confusing. In combination with USB it's commenly used as USB Power Delivery.

I made the library on the notes of Hugatry. This included the resistors I picked. It's nice to see you found an error in it for QC3 chargers. But I do have to note, the resistors I picked where compatible with both 5V and 3,3V Arduino's. So that might be a good note to mention in the differences between QC2 and QC3. And try to make QC3Controll work with 3,3V Arduino's as well (new values or a 3,3V Arduino schematic).

Inline functions should be in .h

Macros (#define) are a relic from C. C++ has nicer and saver ways of doing it. In this case, static const.

Doubles are overkill, a float will do ;) Makes no difference on ATmega's but on 32-bit is does. Even a float is a bit of a hack because floats != decimal point. But I get why you would like it to make it simple and intuitive.

There was no need to break compatibility for setVoltage() ;) There is something called function overloading ๐Ÿ˜„

I personally think the voltage ramping is more annoying then useful. If I set a voltage I want to get there as quick as possible. Do the discrete voltages really need the 60ms of waiting?

And although not every charger goes to 20V, isn't it a bit much to make this a setting? ๐Ÿ˜•

0 is a valid pin on an Arduino. Although on a lot it's a UART pin, it's not very nice to exclude it.

Charger acting weird

When I upload this code, firstly my charger has nice 5v, and then it switches to 2,5V instead of 9V. I tested this with 2 chargers, it always happen.

Resistors for 3.3v boards

Tested the sketch for Pro mini 5V, it is work and great.
But when I run on Pro mini 3.3v, it's just working with some QC2 power supply.

May I know the corresponding resistor values for Arduino Pro Mini 3.3v ?

Support Quick Charge Class B (up to 20V)

As requested in issue #1, work has been done to support Quick Charge "Class B" chargers, to allow voltage outputs up to 20V.
The changes with that feature are now commited. All that is required to enable Class B mode is to call "begin(true);" at startup.

To test these changes, first delete the QC3Control fodler from your sketchbook's "libraries" folder, then download the zip using QC3Control's homepage button "Clone or download", and import it in the IDE using "Sketch > Include library >Add .ZIP library..."

A new example called "classBControl" has also been added.

Please report the results here...

Arduino unable to compile/execute 'inline' functions getVoltage() , getMilliVoltage()

Not sure why but I am unable to compile code if I try and call these functions in QC3Control.cpp (See below). They are defined without 'inline' in the .h signature and are public

QC3Control.cpp v.1.3.0
L234
inline double QC3Control::getVoltage(){
L238
inline unsigned int QC3Control::getMilliVoltage(){

When I hit verify or upload:
e.g. undefined reference to `QC3Control::getMilliVoltage()'

My workaround was to delete 'inline' from the cpp file and it compiles and runs. I'm using Arduino IDE 1.8.1 on Win10 x64. From what I gather 'inline' is a bit like a #define style macro? (pre-processed?) - any specific reason to use inline? (I didn't know it existed until reading about it for this). I thought perhaps you are using a different compiler / OS.

When I googled around I found a few results like this: https://forum.arduino.cc/index.php?topic=330924.0 - but this is from ~2015.

Need help before using!

I want to make a 12v 2S lipo charger but I need QC 2.0 for the 12V. This is for a very compact audio amplifier and I'd like to make the footprint of the AVR as small as possible. For this i'd need to know how big does a simple program ocupy in the flash memory because I'm limited to 1KB (using sot23-6 Attiny10).
Thanks!

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.