Skip to content

Commit e15a893

Browse files
committed
add README.md demo
1 parent 162a3f6 commit e15a893

File tree

5 files changed

+102
-4
lines changed

5 files changed

+102
-4
lines changed

project/RTduino.pro.user

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<!DOCTYPE QtCreatorProject>
3-
<!-- Written by QtCreator 6.0.2, 2022-12-04T10:52:07. -->
3+
<!-- Written by QtCreator 6.0.2, 2022-12-08T14:03:08. -->
44
<qtcreator>
55
<data>
66
<variable>EnvironmentId</variable>
@@ -238,8 +238,9 @@
238238
<valuelist type="QVariantList" key="CustomOutputParsers"/>
239239
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
240240
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
241-
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/liyony/Desktop/QTcode/pinout-generator-qt/RTduino.pro</value>
242-
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/liyony/Desktop/QTcode/pinout-generator-qt/RTduino.pro</value>
241+
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">RTduino2</value>
242+
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/liyony/Desktop/QTcode/project/RTduino.pro</value>
243+
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/liyony/Desktop/QTcode/project/RTduino.pro</value>
243244
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
244245
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
245246
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>

project/filein.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ void Widget::prase_pin_item_from_string(QString &pinline)
2525
pmap->rtthread_pin = rttpinreg.match(pinline).captured(2);
2626
// qDebug() << pinfuncreg.match(pinline).captured(1).mid(0,pinfuncreg.match(pinline).captured(1).size()-1);
2727
if(pinfuncreg.match(pinline).captured(1).mid(0,pinfuncreg.match(pinline).captured(1).size()-1) != "SS")
28-
pmap->pin_func = pinfuncreg.match(pinline).captured(1).mid(0,pinfuncreg.match(pinline).captured(1).size()-1);
28+
pmap->pin_func = pinfuncreg.match(pinline).captured(1).mid(0,pinfuncreg.match(pinline).captured(1).size()-1).toUpper();
2929
if(pinline.contains("ADC",Qt::CaseSensitive))
3030
{
3131
pmap->pin_func = "EXTVOL";

project/fileout.cpp

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ void Widget::load_data_to_dir()
4747
write_data_to_kconfig();
4848
write_data_to_maincpp();
4949
write_data_to_mainscons();
50+
write_data_to_readme();
5051
QMessageBox::StandardButton result = QMessageBox::question( this,"成功","代码生成成功,是否打开资源所在目录?");
5152

5253
if(result == QMessageBox::No)
@@ -95,6 +96,9 @@ void Widget::write_data_to_cfile()
9596
if(pmap->io_name == ui->s3box->currentText())
9697
pmap->io_notes = "/* Serial3-"+ pmap->pin_func +" */";
9798

99+
if(pmap->io_name == "usb")
100+
pmap->io_notes = "/* SerialUSB-"+ pmap->pin_func +" */";
101+
98102
if(pmap->pin_func == "INTVOL")
99103
pmap->io_notes = "/* ADC, On-Chip: internal reference voltage, ADC_CHANNEL_VREFINT */";
100104

@@ -526,3 +530,92 @@ void Widget::write_data_to_mainscons()
526530
out << "Return('group')\n";
527531
}
528532

533+
void Widget::write_data_to_readme()
534+
{
535+
QString index,ardpin,rttpin,vol53,note;
536+
QFile readmefile(rttBspdirpath+"/applications/arduino_pinout/README.md");
537+
if(!readmefile.open(QIODevice::WriteOnly | QIODevice::Text|QFile::Truncate))
538+
{
539+
return;
540+
}
541+
542+
QTextStream out(&readmefile);
543+
out.setCodec("UTF-8");
544+
545+
out << tr("# xxx 开发板的Arduino生态兼容说明\n\n");
546+
out << tr("## 1 RTduino - RT-Thread的Arduino生态兼容层\n\n");
547+
out << tr("xxx 开发板已经完整适配了[RTduino软件包](https://github.com/RTduino/RTduino),即RT-Thread的Arduino"\
548+
"生态兼容层。用户可以按照Arduino的编程习惯来操作该BSP,并且可以使用大量Arduino社区丰富的库,是"\
549+
"对RT-Thread生态的极大增强。更多信息,请参见[RTduino软件包说明文档](https://github.com/RTduino/RTduino)。\n\n");
550+
out << tr("### 1.1 如何开启针对本BSP的Arduino生态兼容层\n\n");
551+
out << tr("Env 工具下敲入 menuconfig 命令,或者 RT-Thread Studio IDE 下选择 RT-Thread Settings:\n\n");
552+
out << tr("```Kconfig\n");
553+
out << tr("Hardware Drivers Config --->\n");
554+
out << tr(" Onboard Peripheral Drivers --->\n");
555+
out << tr(" [*] Compatible with Arduino Ecosystem (RTduino)\n");
556+
out << tr("```\n\n");
557+
out << tr("## 2 Arduino引脚排布\n\n");
558+
out << tr("更多引脚布局相关信息参见 [pins_arduino.c](pins_arduino.c) 和 [pins_arduino.h](pins_arduino.h)。\n\n");
559+
out << tr("![xxx-pinout](xxx-pinout.jpg)\n");
560+
out << tr("| Arduino引脚编号 | STM32引脚编号 | 5V容忍 | 备注 |\n");
561+
out << tr("| ------------------- | --------- | ---- | ------------------------------------------------------------------------- |\n");
562+
foreach(auto pmap , pinmaplist.Allpinlist)
563+
{
564+
index = QString::number(pinmaplist.Allpinlist.indexOf(pmap));
565+
ardpin = pmap->arduino_pin;
566+
if(pmap->rtthread_pin == "RT_NULL")
567+
rttpin = "--";
568+
else
569+
rttpin = "P" + pmap->rtthread_pin.mid(8,1)+pmap->rtthread_pin.mid(10,pmap->rtthread_pin.size()-11);
570+
571+
if(pmap->pin_func == "INTVOL")
572+
vol53 = "";
573+
else if(pmap->pin_func == "INTTEP")
574+
vol53 = "";
575+
else
576+
vol53 = "是/否";
577+
578+
if(pmap->io_name.mid(0,3) == "pwm")
579+
note = pmap->io_name.toUpper()+"-CH"+QString::number(pmap->io_channel.toInt())+",默认被RT-Thread的PWM设备框架"+pmap->io_name+"接管";
580+
else if(pmap->io_name.mid(0,3) == "adc")
581+
{
582+
if(pmap->pin_func == "INTVOL")
583+
note = "芯片内部参考电压 ADC,默认被RT-Thread的ADC设备框架adc1接管";
584+
else if(pmap->pin_func == "INTTEP")
585+
note = "芯片内部温度 ADC,默认被RT-Thread的ADC设备框架adc1接管";
586+
else
587+
note = pmap->io_name.toUpper()+"-CH"+QString::number(pmap->io_channel.toInt())+",默认被RT-Thread的ADC设备框架"+pmap->io_name+"接管";
588+
}
589+
else if(pmap->io_name.mid(0,3) == "dac")
590+
note = pmap->io_name.toUpper()+"-CH"+QString::number(pmap->io_channel.toInt())+",默认被RT-Thread的DAC设备框架"+pmap->io_name+"接管";
591+
else if(pmap->io_name.mid(0,3) == "i2c")
592+
note = pmap->io_name.toUpper()+"-"+pmap->pin_func+",默认被RT-Thread的I2C设备框架"+pmap->io_name+"接管";
593+
else if(pmap->io_name.mid(0,3) == "spi")
594+
note = pmap->io_name.toUpper()+"-"+pmap->pin_func+",默认被RT-Thread的SPI设备框架"+pmap->io_name+"接管";
595+
else if(pmap->io_name.mid(0,3) == "usb")
596+
note = pmap->io_name.toUpper()+"-"+pmap->pin_func+",默认被 [TinyUSB软件包](https://github.com/RT-Thread-packages/tinyusb) 接管";
597+
else if(pmap->io_name.mid(0,4) == "uart")
598+
{
599+
if(pmap->io_name == ui->s2box->currentText())
600+
note = "Serial2-"+pmap->pin_func+",默认被RT-Thread的UART设备框架"+pmap->io_name+"接管";
601+
else if(pmap->io_name == ui->s3box->currentText())
602+
note = "Serial3-"+pmap->pin_func+",默认被RT-Thread的UART设备框架"+pmap->io_name+"接管";
603+
else
604+
note = "Serial-"+pmap->pin_func+",默认被RT-Thread的UART设备框架"+pmap->io_name+"接管";
605+
}
606+
else if(pmap->arduino_pin == ui->spissbox->currentText())
607+
note = "SPI片选默认引脚";
608+
else if(pmap->arduino_pin == ui->ledbox->currentText())
609+
note = "板载用户LED";
610+
else
611+
note = "";
612+
out << "| " +index+" ("+ardpin+ ") | " +rttpin+ " | " +vol53+ " | " +note+ " |\n" ;
613+
}
614+
out << tr("\n");
615+
out << tr("> 注意:\n");
616+
out << tr(">\n");
617+
out << tr("> 1. xxxxxxxxx\n");
618+
out << tr("> 2. xxxxxxxxx\n");
619+
}
620+
621+

project/pininfoui.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,9 @@ void PininfoUI::on_funcbox_currentIndexChanged(const QString &arg1)
171171
{
172172
show_name_or_channel(true,false);
173173
show_pin_function(false);
174+
show_pin_function(true);
175+
pinfunclist << "DP" << "DM";
176+
ui->pinfucbox->addItems(pinfunclist);
174177
ui->devnameedit->setPlaceholderText("usb");
175178
ui->channeledit->setPlaceholderText("");
176179
}

project/widget.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ class Widget : public QWidget
7373
void write_data_to_scons();
7474
void write_data_to_maincpp();
7575
void write_data_to_mainscons();
76+
void write_data_to_readme();
7677
void get_date_info();
7778

7879
private slots:

0 commit comments

Comments
 (0)