#ifndef CONFIG_ADV_H
#define CONFIG_ADV_H

////////////////////////////////////////////////////////////////////////////////
//  
//  Auto reverse time settings

// the time used to reverse after jamming
#define AR_REVERSE_TIME                                 3500

// after reversing came to stop, this is the delay 
// before it's forwarding
#define AR_FORWARD_WAIT_TIME                            500

// after the delay AR_FORWARD_WAIT_TIME, we set the VFD to forward
// by this time, motor / VFD specifc
#define AR_FORWARDING_TIME                              2000

/////////////////////////////////////////////////////////////
//
// Motor load settings, this requires a current sensor or can be
// taken from the VFD's output. 

// the interval to read the current
#define MOTOR_LOAD_READ_INTERVAL 30

// the motor runs idle
#define MOTOR_IDLE_LOAD_RANGE_MIN 20
#define MOTOR_IDLE_LOAD_RANGE_MAX 50

// the motor is under load
#define MOTOR_SHREDDING_LOAD_RANGE_MIN 60
#define MOTOR_SHREDDING_LOAD_RANGE_MAX 150

// the motor is overloaded
#define MOTOR_OVERLOAD_RANGE_MIN 280
#define MOTOR_OVERLOAD_RANGE_MAX 1000


#define MOTOR_MIN_DT                                    2500

//  Error codes
//
#define E_MSG_OK            "Ok"
#define E_MSG_STUCK         "Shredder is stuck"

// motor
#define E_MOTOR_DT_IDLE 320     // Motor runs idle longer as defined
#define E_MOTOR_DT_OVERLOAD 321 // Motor runs overloaded longer as defined

// common operating failures
#define E_OK                0                           // all good
#define E_MAX_JAM           400                         // shredder is stuck, max. autoreverse trials exceeded

#endif