Im using midibox 2.4 on mios 1.9f
When i turn my encoder clockwise, it gives off, channel 5 note c3 on, then channel 6 note c3 on, then channel 5 note c3 off, then channel 6 note c3 off.
Whats causing this issue?
I even tried another encoder, same issue.
The output should be:
clockwise turn:
channel * note c3 on
channel * note c3 off
channel * note c3 on
channel * note c3 off
and then for anti clockwise turn:
channel X note c3 on
channel X note c3 off
channel X note c3 on
channel X note c3 off
* and X are just variables. My problem is that which ever way I turn the encoder, it does both channels on and off.
***update, i connected only one pin of the encoder to the din module, now which ever way I turn the encoder, i get values.
I get the same values if I turn the encoder clock or anti clock wise.
Faulty encoders?
Update***
ive just changed to midibx64e (after hours of reading and a few simple changes in the code), I still get the same problem.
I read somewhere about encoder mode DETENT3, but now I cant find it anywhere, I even tried to use it in the code but I got compile errors.
Below is the code that im using now. I still have the problem with the encoder(connect to SR2 on PIN 6 and PIN 7.
LIST P=PIC18F452, R=DEC
ERRORLEVEL -223 ; suppress “Redefining processor.”
;
#define SEPERATE_SETUP_FILE
#define DEFAULT_NUMBER_ENCS 2
#define DEFAULT_ENCODER_GROUP_WIDTH DEFAULT_NUMBER_ENCS
#define DEFAULT_NUMBER_BUTTONS 64
#define DEFAULT_SRIO_DEBOUNCE_CTR 16
#define DEFAULT_PATCHMODE 0
#define DEFAULT_BANK_PRG_CHNG_CHANNEL 16
#define DEFAULT_PATCH_PRG_CHNG_CHANNEL 15
#define DEFAULT_BANKSTICK_CS -1
#define DEFAULT_DEVICE_ID 0x00
#define DEFAULT_AUTO_DEVICE_ID 1
#define DEFAULT_MIDI_MONITOR_ENABLED 0
#define DEFAULT_MIDI_RX_LED 0x40
#define DEFAULT_MIDI_TX_LED 0x41
#define LEDRINGS_SR_ENC1_16_CATHODES_1 0
#define LEDRINGS_SR_ENC1_16_CATHODES_2 0
#define LEDRINGS_SR_ENC1_16_ANODES_1 0
#define LEDRINGS_SR_ENC1_16_ANODES_2 0
#define LEDRINGS_SR_ENC17_32_CATHODES_1 0
#define LEDRINGS_SR_ENC17_32_CATHODES_2 0
#define LEDRINGS_SR_ENC17_32_ANODES_1 0
#define LEDRINGS_SR_ENC17_32_ANODES_2 0
#define LEDRINGS_SR_ENC33_48_CATHODES_1 0
#define LEDRINGS_SR_ENC33_48_CATHODES_2 0
#define LEDRINGS_SR_ENC33_48_ANODES_1 0
#define LEDRINGS_SR_ENC33_48_ANODES_2 0
;
#define LEDRINGS_SR_ENC49_64_CATHODES_1 0
#define LEDRINGS_SR_ENC49_64_CATHODES_2 0
#define LEDRINGS_SR_ENC49_64_ANODES_1 0
#define LEDRINGS_SR_ENC49_64_ANODES_2 0
#define DEFAULT_ENC_SPEED_NORMAL_MODE MIOS_ENC_SPEED_NORMAL
#define DEFAULT_ENC_SPEED_NORMAL_DIV 0
#define DEFAULT_ENC_SPEED_SLOW_MODE MIOS_ENC_SPEED_SLOW
#define DEFAULT_ENC_SPEED_SLOW_DIV 6
#define DEFAULT_ENC_SPEED_FAST_MODE MIOS_ENC_SPEED_FAST
#define DEFAULT_ENC_SPEED_FAST_DIV 4
#define DEFAULT_DIN_SR_PIN_01_08 2
#define DEFAULT_DIN_SR_PIN_09_16 3
#define DEFAULT_DIN_SR_PIN_17_24 1
#define DEFAULT_DIN_SR_PIN_25_32 4
#define DEFAULT_DIN_SR_PIN_33_40 5
#define DEFAULT_DIN_SR_PIN_41_48 6
#define DEFAULT_DIN_SR_PIN_49_56 7
#define DEFAULT_DIN_SR_PIN_57_64 8
#define DEFAULT_ENC_DATAWHEEL 0
#define DEFAULT_DIN_MENU_EXEC 7
#define DEFAULT_DIN_MENU_RIGHT 6
#define DEFAULT_DIN_MENU_LEFT 5
#define DEFAULT_DIN_MENU_SNAPSHOT 4
;
#define DEFAULT_DOUT_SR_PIN_01_08 1
#define DEFAULT_DOUT_SR_PIN_09_16 2
#define DEFAULT_DOUT_SR_PIN_17_24 0
#define DEFAULT_DOUT_SR_PIN_25_32 3
#define DEFAULT_DOUT_SR_PIN_33_40 4
#define DEFAULT_DOUT_SR_PIN_41_48 5
#define DEFAULT_DOUT_SR_PIN_49_56 6
#define DEFAULT_DOUT_SR_PIN_57_64 7
#define DEFAULT_GP_DIN_SR0 0
#define DEFAULT_GP_DIN_SR1 0
#define DEFAULT_GP_DOUT_SR0 0
#define DEFAULT_GP_DOUT_SR1 0
#define DEFAULT_YOFFSET_LINE0 0x00
#define DEFAULT_YOFFSET_LINE1 0x40
#define DEFAULT_YOFFSET_LINE2 0x14
#define DEFAULT_YOFFSET_LINE3 0x54
#define DEFAULT_MORPH_FUNCTION_ENABLED 0
#define DEFAULT_NUMBER_AIN 64
#define DEFAULT_ENABLE_AIN_MUX 1
#define DEFAULT_ENABLE_MOTORDRIVER 0
#define DEFAULT_MF_PWM_DUTY_UP 0x01
#define DEFAULT_MF_PWM_DUTY_DOWN 0x01
#define DEFAULT_MF_PWM_PERIOD 0x03
#define DEFAULT_TOUCH_SENSOR_SR 0
#define DEFAULT_TOUCH_SENSOR_MODE 0
#define DEFAULT_TOUCH_SENSOR_SENSITIVITY 3
org 0x3280 ; never change the origin!
;; encoder entry structure
ENC_ENTRY MACRO sr, din_0, mode
dw (mode << 8) | (din_0 + 8*(sr-1))
ENDM
ENC_EOT MACRO
dw 0xffff
ENDM
MIOS_ENC_PIN_TABLE
;; encoders 1-16
;; SR Pin Mode
ENC_ENTRY 2, 6, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 1
ENC_ENTRY 3, 2, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 2
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
;; encoders 17-32
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
;; encoders 33-48
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
;; encoders 49-64
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
include “main.asm”