After reading
oneinchsidehop's great observation that a constant throttle seems to handle minor hill variations well, I can drastically simplify the basic algorithm. In fact, it gets so simple there's no need for pseudo code:
Stay at a constant throttle unless the speed goes too low or too high, then just maintain those limits.
No OBDII input required certainly is tantalizing. Having two inputs for min and max speed seems like it might be too complicated (although proper input design could avoid the max being less than the min ever). Thinking about how I drive around here in a 50 mph zone (default VT speed limit), I get a min speed of about 40 (slower than that and I'd be in serious danger of a road rage shooting) and a max speed of 60 (hills steeper than that I go into neutral and coast). +/- 10mph would be a lot in a 35 zone, so maybe the min & max could be a percentage of the set cruise speed? So that'd be +/- 20%, or ranging between 28 and 42 in a 35 zone. Still seems high, but you could always set the target below 35 I guess. Need to let this process a bit.
__________________
Main Entry: co de pen dence - see codependency
co de pen den cy
Pronunciation: \kō-di-ˈpen-dən(t)-sē\
Function: noun
Date: 1979
: a psychological condition or a relationship in which a person is controlled or manipulated by another who is affected with a pathological condition (as an addiction to alcohol or heroin) ; broadly : dependence on the needs of or control by another