🤖Have you ever tried Chat.M5Stack.com before asking??😎
    M5Stack Community
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    GO Plus motor shield source code

    General
    2
    2
    4.3k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      percramer
      last edited by

      Hi,

      i have been testing some of the functions of the Goplus module and I must say that the source for the Atmel processor looks a bit strange to me (as does the test / sample for in the M5Stack Core module). If I look at the source for the go plus it declares an array :

      const int HubPort[6] = {A0,5,A1,6,A2,7};

      This is basically for the 3 hub ports. Which each have a analog input and a digital one. If I look at the schematics this is all just fine. A0 & 5 are both for hub connector 1, etc, etc. But if I then look at the code there is a large switch statement when data is send to the go plus. In the sample program the do the following:

      M5.Lcd.fillScreen(BLACK);
      adInValue[0] = hub1_d_read_value((uint8_t)6);
      delay(50);
      //M5.Lcd.Fill(0, 30 * i, 1);
      M5.Lcd.setCursor(0, 30 * 0, 1);
      M5.Lcd.print(adInValue[0]);

      adInValue[1] = hub1_d_read_value((uint8_t)7);
      delay(50);
      //M5.Lcd.Fill(0, 30 * i, 1);
      M5.Lcd.setCursor(0, 30 * 1, 1);
      M5.Lcd.print(adInValue[1]); 
      

      Which is the proccessed in the Goplus with :

        case 6:  
                pinMode(HubPort[0],INPUT_PULLUP);
                adInValue[0] = analogRead(HubPort[0]);
                 break;
        case 7:   pinMode(HubPort[1],INPUT_PULLUP);
                 adInValue[1] = analogRead(HubPort[1]);
                 break;
      

      And it seems to want to acces the correct inputs (HubPort[0] and HubPort[1], but that HubPort[1] isn't an analog input, so how can it do an analog read on that?

      and there are more things in the sample program (and the go plus source) that don't seem to add up. Is the code correct or just a wrong version? I know the original programmer left M5Stack, so could the code be wrong?

      1 Reply Last reply Reply Quote 0
      • L
        Lewis-H
        last edited by

        This post is deleted!
        1 Reply Last reply Reply Quote 0
        • First post
          Last post