Help! Error message; invalid conversion from int to uint8_t
hello,
i having issue code wrote mega2560.
on mac mini (2014) code works fine on older macbook pro(2010) error message; invalid conversion (int*) (uint8_t) [-fpermissive] (aka unsigned char)
*on older mac had go avr board 1.6.13 1.6.11 able compile mega2560.
this code, in advance!
i having issue code wrote mega2560.
on mac mini (2014) code works fine on older macbook pro(2010) error message; invalid conversion (int*) (uint8_t) [-fpermissive] (aka unsigned char)
*on older mac had go avr board 1.6.13 1.6.11 able compile mega2560.
this code, in advance!
code: [select]
#include <midi.h>
midi_create_default_instance();
#define midi_channel 1
#define note_on_threshold 150
#define max_pressure 500
#define note_off 1
#define rise_wait 2
#define note_on 3
#define at_interval 70
#define rise_time 3
int notesounding;
int sensorvalue;
int state;
unsigned long breath_on_time = 0l;
int initial_breath_value;
int atval;
unsigned long atsendtime = 0l;
int swipin [] = {22,23,24,25,26,27,28,29};
int swipin2 [] = {30,31,32,33,34,35,36,37};
int swipin3 [] = {38,39,40,41,42};
int groupa = 0;
int groupb = 0;
int groupc = 0;
void setup() {
for(int x = 0; x<7; x++)
state = note_off;
for(int x = 0; x<7; x++){
pinmode(swipin, input_pullup);
pinmode(swipin2, input_pullup);
}
for(int x = 0; x<4; x++){
pinmode(swipin3, input_pullup);
}
midi.begin(4);
serial.begin(115200);
}
int get_note() {
groupa = 1*(digitalread(swipin[0])) + 2*(digitalread(swipin[1])) + 4*(digitalread(swipin[2])) + 8*(digitalread(swipin[3])) + 16*(digitalread(swipin[4])) + 32*(digitalread(swipin[5])) + 64*(digitalread(swipin[6])) + 128*(digitalread(swipin[7])); //22-29
groupb = 1*(digitalread(swipin2[0])) + 2*(digitalread(swipin2[1])) + 4*(digitalread(swipin2[2])) + 8*(digitalread(swipin2[3])) + 16*(digitalread(swipin2[4])) + 32*(digitalread(swipin2[5])) + 64*(digitalread(swipin2[6])) + 128*(digitalread(swipin2[7])); //30-37
groupc = 1*(digitalread(swipin3[0])) + 2*(digitalread(swipin3[1])) + 4*(digitalread(swipin3[2])) + 8*(digitalread(swipin3[3])) + 16*(digitalread(swipin3[4]));//38-42
#define base 64
if (groupa == 0b00000000 && groupb == 0b00000000 && groupc == 0b00000)
return base; //c#
else if (groupa == 0b10000000 && groupb == 0b00000001 && groupc == 0b00000)
return base -1; //c
//deleted rest of binary save space
return notesounding;}
int get_velocity(int initial, int final, unsigned long time_delta) {
return map(final, note_on_threshold, max_pressure, 0, 127);}
void loop() {
sensorvalue = analogread(a0);
if (state == note_off) {
if (sensorvalue > note_on_threshold) {
breath_on_time = millis();
initial_breath_value = sensorvalue;
state = rise_wait;
}
} else if (state == rise_wait) {
if (sensorvalue > note_on_threshold) {
if (millis() - breath_on_time > rise_time) {
notesounding = get_note();
int velocity = get_velocity(initial_breath_value, sensorvalue, rise_time);
midi.sendnoteon(notesounding, velocity, midi_channel);
state = note_on;}
} else {
state = note_off;}
} else if (state == note_on) {
if (sensorvalue < note_on_threshold) {
midi.sendnoteoff(notesounding, 100, midi_channel);
state = note_off;
} else {
if (millis() - atsendtime > at_interval) {
atval = map(sensorvalue, note_on_threshold, 1023, 0, 127);
midi.sendaftertouch(atval, midi_channel);
atsendtime = millis();}
}
int newnote = get_note();
if (newnote != notesounding) {
midi.sendnoteoff(notesounding, 100, midi_channel);
notesounding = newnote;
int velocity = get_velocity(initial_breath_value, sensorvalue, rise_time);
midi.sendnoteon(notesounding, velocity, midi_channel);}}}
what line error.
Arduino Forum > Using Arduino > Programming Questions > Help! Error message; invalid conversion from int to uint8_t
arduino
Comments
Post a Comment