UART6 open OpenCR board


(Bert Berrevoets) #1

Hello All,

I have an question about the Opencr board, how can I use the pin 0 & 1 on the Arduino compatible header as UART6.
Is there someone who can give me an example how to program it to read and write something to a serial device attached to those two pins.

Kind regards,
Bert Berrevoets.


#2

I am pretty sure that it is Serial1, so try Serial1.begin(…


(Kei) #3

Hi, @Bert_Berrevoets.

It’s correct that @Kurt mentioned.
I pull-requested to E-manual for this topic.
Please refer to this link.


(Kei) #4

It is updated to E-Manual Page.
OpenCR1.0 -> 3. Layout / PinMap -> 8. UART (Serial)


(Bert Berrevoets) #5

Thanks @Kurt and @OpusK this is the were I am looking for. Now also the E-Manual is clear to me.
:grinning::+1:


#6

Thanks @OpusK,

That is good information to have in the E-Manual!

Do you by chance have a file/posting/… That maps all of the logical Arduino Pin numbers to the list of things that pin can do? Sorry maybe should take up on different thread or the like.

For example in this thread was mentioned Pin 0… From the pin definition table:
http://emanual.robotis.com/docs/en/parts/controller/opencr10/#pin-definition
{GPIOC, GPIO_PIN_7, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 0 UART6_RX

We know a lot about this pin. It hardware pin C7, from that we can look at datasheet, Table 10 (page 65):

That the pin can logically do several things:
TIM3_CH2, TIM8_CH2, I2S3_MCK, USART6_RX, SDMMC1_D7, DCMI_D1, LCD_G6, EVENTOUT

You find the actual mappings at mapping to Alternate functions on table 12 page 79

How thi can be interesting, is to see if there is functionality available on some of the pins, that the software currently does not yet support… But probably should take this up on other thread.


(Bert Berrevoets) #7

Hello,
Just the follow up question on de Serial1 Port.
I want to use it with the ros lib for the opencr board,
everything went fine, i start everything with
nh.getHardware()->setBaud(115200);
Until i want to use the Serial! port and start it with
Serial1.begin(19200);
then suddenly somehow my computer is not seeing the board anymore.
if i set both of them to 19200, there is no problem.
So my question is, is it not possible to use 2 different speeds for the 2 serial connections?

Kind regards Bert.


(Kei) #8

That’s possible.

Do you want to use rosserial with Serial1?
If so, please refer to this source file for this.
By default, OpenCR supports rosserial only via USB, so you need to modify it yourself.


(Kei) #9

And I think it’s better to leave the code questions for a particular platform on GitHub Issue than here :).


(Bert Berrevoets) #10

Maybe you are right. :grinning:


(Bert Berrevoets) #11

I did use the complete original source files, except for onde, and that was the turtlebot_motor_driver. I have write that one my self because I connected a motor driver to Serial1, I do not have the dynamixels on Serial3. And so no, I do not user rosserial on that. but if I use Serial1 with 19200 for my motor driver, I have to adjust the rosserial connection also to 19200 to work. If I leave the rosserial connectin to 115200, like it is in the original source file then suddenly my computer does not see the usb connection anymore. :thinking:


(Kei) #12

It’s strange.
In this regard, we will check. Would you like to create this issue on GitHub?


(Bert Berrevoets) #13

Thanks, i will make an issue on github when i am at home, it is not so great experience with my mobile phone :grinning:


(Kei) #14

Thanks :slight_smile: This topic will continue with this link.