#ifndef I2CPWM_H
#define I2CPWM_H

#include "I2CDefs.h"

class I2cPWM
{
  private:

    // all pulse values in usec    
    uint16_t bottomValue; 
    uint16_t midValue;
    uint16_t topValue;
    uint16_t rangeValue;
    uint16_t newValue;

    int i2cHandle;  //file handle from open of I2C
    int avrAddr; //address of avr chip on I2C

    uint8_t pwmNum;

    I2c_ioctl_packet_t packet;
    I2c_packet_header_t packet_header;
    I2c_pwm_packet_t packet_data;

    uint8_t buf[I2c_packet_len];

    void sendPacket();


  public:

    I2cPWM(int handle, int low, int high, int pwm);
    void middle();
    void increase(int percent);
    void decrease(int percent);

}; // I2cPWm

#endif // I2CPWM_H
