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!

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

Popular posts from this blog

DHT11 Time out error using v0.4.1library

Sketch upload fails with Java error (___REMOVE___/bin/avrdude)!

Arduino Uno + KTY81/210 temperature sensor