var RPM = 15;
var RPS = RPM / 60; //Rotations per second, from 15RPM
var D = 31.27; //mm, Diameter of core (daylight spool here) 32, or 31.5
//var D_END = 87.16;
var THICKNESS = 0.11938; //mm, 16mm = 0.0047in thick
var PITCH = 7.6;
var TOTAL = 33 * 1000;

var roll = {};

//R = √(36000 × 0.005/π + 32) = √(57.30 + 9) = 8.14 inches.
roll.diameter = function (length) {
	'use strict';
	var r = Math.sqrt(((length * THICKNESS) / Math.PI) + Math.pow(D / 2, 2));
	return 2 * r;
};

roll.length = function (d) {
	'use strict';
	var len = Math.PI * (Math.pow(d / 2, 2) - Math.pow(D / 2, 2));
	return len / THICKNESS;
};

//mm/s
roll.speed = function (d) {
	'use strict';
	var mm = d * Math.PI;
	return mm * RPS;
};

var job = {};
		
job.pmw = {};			   //15 7.5
/*
job.pmw.values = [255, 55];
job.pmw.rps = [0.1100917431, 0.06629834254];
*/

job.state = {
	motor_pwm : 255,
	current_rps : RPS,
	start_time : 0,
	end_time : 0,
	estimated_time : 0
};

job.begin = function () {
	'use strict';
	job.state.start_time = +new Date();
	//job pins set
	job.state.estimated_time = 0;
};

job.simulate = function () {
	'use strict';


};




job.begin();
console.dir(job.state);