terjeio / GRBL_MPG_DRO_BoosterPack

Tiva C BoosterPack for GRBL MPG/DRO
46 stars 21 forks source link

Can't run this project #11

Closed CHTUZKI closed 1 year ago

CHTUZKI commented 1 year ago

I want to run this project, but I have a lot of problems。

I use TM4C123GXL board as MPG controller,I use EXP432P401R board as grblhal controller,The source code of the grblhal controller is https://github.com/grblHAL/MSP432P401R.

I found that my MSP432P401R can't communicate with TM4C123GXL, I use a logic analyzer to measure the P3.2 and P3.1 pins of MSP432P401R, they don't have any data.(I use IOsender to communicate with MSP432P401R, and then use a logic analyzer to measure P3.2 and P3.1 pins,I think PC will give G code to MSP432, then MSP432 will use P3.2 and P3.1 pins to TM4C123. I don't know if I understand correctly)

My MSP432 board does not use EEPROM, I saw that this board can communicate with IOsender。

I debug MSP432 board and I found that if((hal.driver_cap.mpg_mode = stream_mpg_register(stream_open_instance(MPG_STREAM, 115200, NULL), false, NULL))) protocol_enqueue_rt_command(mpg_enable);

will not execute。

I found in "cnc_boosterpack_map.h" file #if MPG_MODE == 1 #define MPG_MODE_PORT port(C) #define MPG_MODE_PIN 2 // GPIO2 #endif

Does MPS432 have portC port? (GPIOC? GPIOC2?)

This is a great project and I want to run it, can you give me some help.

Sincere thanks.

terjeio commented 1 year ago

My MSP432 board does not use EEPROM

Have you changed the value in these lines in the map file from 1 to 0 to disable the EEPROM? If not the controller may hang.

#define I2C_ENABLE       1 // Only change if BoosterPack does not have EEPROM mounted
#define EEPROM_ENABLE    1 // Only change if BoosterPack does not have EEPROM mounted

When I try to compile the grblHAL driver I get a linker failure, solved by adding:

#if KEYPAD_ENABLE
#include "keypad/keypad.h"
#endif

after the EEPROM enable include in driver.c (near line 45).

Does MPS432 have portC port? (GPIOC? GPIOC2?)

Yes, the ports can be referenced both by numbers or letters.

CHTUZKI commented 1 year ago

#define CNC_BOOSTERPACK //#define I2C_ENABLE //#define EEPROM_ENABLE #define MPG_ENABLE 1

Here is my configuration。

I don't think my MSP432 board is hanging. iosender can find my MSP432 board and it works fine

I don't understand why the P3.2 and P3.1 pins of the MSP432 board don't have any data output。

terjeio commented 1 year ago

Another "bug"...

Add serialRegisterStreams(); at line 1630 or so in driver.c (just before the driver cappabilities comment). At least this gives me serial transmit interrupts on Serial2...

CHTUZKI commented 1 year ago

After adding the serialRegisterStreams(); line, the system works normally。

🎉🎉🎉🎉thank you very much