test:1: error: variable or field 'ControlWinch' declared void
test:1: error: 'motion' was not declared in this scope
test:19: error: variable or field 'ControlWinch' declared void
test:19: error: 'motion' was not declared in this scope
The motion enum is local to setup, so it is not accessible outside of setup(). Move the declaration before setup() to make it global in scope (and accessibility).
sketch_aug30c:-1: error: variable or field 'ControlWinch' declared void
sketch_aug30c:-1: error: 'motion' was not declared in this scope
sketch_aug30c:-1: error: variable or field 'ControlWinch' declared void
sketch_aug30c:-1: error: 'motion' was not declared in this scope
sketch_aug30c.cpp: In function 'void ControlWinch(motion)':
sketch_aug30c:31: error: expected `}' at end of input