/******************************************************************************!
 * \file nanocurrentmeter.cpp
 * \author Sebastien Beaugrand
 * \sa http://beaugrand.chez.com/
 * \copyright CeCILL 2.1 Free Software license
 * \note http://www.technoblogy.com/show?2S67
 *       https://www.microchip.com/en-us/product/ATtiny85#Documentation
 ******************************************************************************/
#include <Arduino.h>

#define PIN_ADC PIN_PB2
#define PIN_LED PIN_PB4

void
setup()
{
    pinMode(PIN_LED, OUTPUT);
}

void
loop()
{
    pinMode(PIN_ADC, OUTPUT);
    digitalWrite(PIN_ADC, HIGH);
    delay(500);
    pinMode(PIN_ADC, INPUT);
    unsigned long Time;
    unsigned long Start = millis();
    int Initial = analogRead(PIN_ADC);
    int Target = (Initial * 29) / 41;
    do {
        Time = millis() - Start;
    } while (analogRead(PIN_ADC) > Target && Time < 100000);
    digitalWrite(PIN_LED, HIGH);
    Serial.begin(9600);
    Serial.println(1732868 / Time);
    Serial.end();
    digitalWrite(PIN_LED, LOW);
}