Samsung / TizenRT

TizenRT is a lightweight RTOS-based platform to support low-end IoT devices
Apache License 2.0
567 stars 571 forks source link

Review result of /docs #3850

Closed ck11a closed 4 years ago

ck11a commented 5 years ago

@sangwon03

Hello, SangWon

I'm Sang-A Lee from SE team. I have completed the documentation review of TizenRT's docs folder. After the GBM release, please modify when you can afford, and attach the modified PR to the answer.

Thank you.

[README.md]

# 1. line 11 -Original

Environment Setup
How to Build
Supported Board / Emulator

-Suggestion

-Review comment I recommend using Unordered Lists rather than BlockQuote for the list of contents. Please refer to style guide. https://github.com/Samsung/tizen-docs/blob/master/styleguide/template-guide.md

# 2. line 24 -Original Especially For Windows environment, -Suggestion Especially for Windows environment, -Review comment There is a capital letter in the middle of the sentence.

# 3. line 24 -Original Especially For Windows environment, configuring CRLF is required as below.

git config --global core.autocrlf input

-Suggestion -Review comment I recommend that the CRF content be located at the end of 2. Getting TizenRT source code step. Since CRF configuration affects commit, it is most relevant to step 2.

# 4. line 31 -Original To install OS specific Docker engines, see https://docs.docker.com/install/linux/docker-ce/ubuntu/. -Suggestion To install OS specific Docker engines, see https://docs.docker.com/install/. -Review comment You should write the install page url for all OS, not the url for specific OS such as Linux.

# 5. line 29 -Original

1. Installing Docker

2. Getting TizenRT source code

-Suggestion

1. Installing Docker

2. Pulling TizenRT Docker Image

3. Getting TizenRT source code

-Review comment I think a step to pull TizenRT Docker Image should be added between steps 1 and 2.

# 6. line 41 -Original To contribute in this community, you need to clone your forked private repository instead. -Suggestion To contribute in this community, you need to clone the private repository that forked from TizenRT project. -Review comment It is better to specify the target project for fork.

# 7. line 41 -Original Note: To contribute in this community, you need to clone your forked private repository instead.
Github guides this by working-with-forks.

-Suggestion

Note

To contribute in this community, you need to clone your forked private repository instead. Github guides this by working-with-forks.

-Review comment I recommend using BlockQuote when writing Note. Please refer to style guide. https://github.com/Samsung/tizen-docs/blob/master/styleguide/template-guide.md#note

# 8. line 46 -Original TizenRT provides an interactive tool (dbuild.sh) where you are prompted to select a option among multiple choices. -Suggestion There are two ways to build TizenRT.

TizenRT provides an interactive tool (dbuild.sh) where you are prompted to select a option among multiple choices. -Review comment It is better to spectify that there are two ways to build TizenRT first.

# 9. line 50 -Original As the build script is running based on Docker, it requires sudo for root permission.
To run Docker without sudo, refer to https://docs.docker.com/install/linux/linux-postinstall/. -Suggestion

Note

As the build script is running based on Docker, it requires sudo for root permission.
To run Docker without sudo, refer to https://docs.docker.com/install/linux/linux-postinstall/.

-Review comment I recommend writing this as Note.

# 10. line 117 -Original

./configure.sh --help

-Suggestion

./tools/configure.sh --help

-Review comment The configure.sh is located in tools directory, so you need to change the path.

# 11. line 121 -Original

1.1 Additional Configuration (optional)

-Suggestion

Additional Configuration (optional)

-Review comment Since this is not sequential content, there is no need for ordered lists. Please delete the number.

# 12. line 129 -Original Note: In Docker environment, make menuconfig command from other README files should be replaced with this command.
make menuconfig applies only in Manual Setup Build Environment.

-Suggestion

Note

In Docker environment, make menuconfig command from other README files should be replaced with this command. make menuconfig applies only in Manual Setup Build Environment.

-Review comment I recommend using BlockQuote when writing Note. Please refer to style guide. https://github.com/Samsung/tizen-docs/blob/master/styleguide/template-guide.md#note

# 13. line 140 -Original

2.1 Clean

-Suggestion

Clean

-Review comment Since this is not sequential content, there is no need for ordered lists. Please delete the number.

# 14. line 142 -Original There are two types of clean commands, clean and distclean. -Suggestion There are two types of clean commands, clean and distclean. -Review comment Is there any special reason why you did not use italics for clean and distclean? You used italics for options in other parts of the text. Please maintain consistency.

# 15. line 149 -Original After modifying configuration with menuconfig, this command is required. -Suggestion After modifying configuration with menuconfig, this command is required. -Review comment Is there any special reason why you did not use italics for menuconfig? You used italics for options in other parts of the text. Please maintain consistency.

# 16. line 155 -Original This command includes the clean option and additionally removes configured files including .config, Make.defs and linked folders / files.
-Suggestion This command includes the clean option and additionally removes configured files including .config, Make.defs and subfiles of linked folders. -Review comment I recommend changing linked folders / files to subfiles of linked folders.

[HowToAddStaticLibrary.md] # 1. line 7 -Original Makefile or Make.defs in arch can include it for architecture specific library as mentioned below. -Suggestion Makefile or Make.defs in arch can include static library for architecture specific library as mentioned below. -Review comment I recommend using the correct subject instead of using the pronoun it.

# 2. line 21 -Original This change makes it add to TizenRT binary by Makefile which is at os/arch/arm/src folder. -Suggestion This change allows static library to be added to TizenRT binary by Makefile which is at os/arch/arm/src folder. -Review comment I recommend changing it like Suggestion.

# 3. line 32 -Original TizenRT includes it as separated library, not merge it to existed library. -Suggestion TizenRT includes static library as separated library, not merge it to existed library. -Review comment I recommend using the correct subject instead of using the pronoun it.

[HowToAddnewBoard.md] # 1. line 5 -Original

  1. arch folder includes CPU and chip architectures.
  2. board folder includes board support package(BSP).
  3. configs folder includes build options and flash operations.

-Suggestion

-Review comment Since this is not sequential content, there is no need for ordered lists. Please delete BlockQuote and use Unordered Lists.

# 2. line 11 -Original

Folder structure
Architecture
Board
How to include headers
Configs

-Suggestion

-Review comment I recommend using Unordered Lists rather than BlockQuote for the list of contents. Please refer to style guide. https://github.com/Samsung/tizen-docs/blob/master/styleguide/template-guide.md

# 3. line 48 -Original

cpu-family : arm, mips (not supported yet), ...
cpu-architecture : armv7-r, armv7-m, common, ...

-Suggestion

-Review comment I recommend using Unordered Lists rather than BlockQuote. Please refer to style guide. https://github.com/Samsung/tizen-docs/blob/master/styleguide/template-guide.md

# 4. line 79 -Original Note: Value of config ARCH should be same as folder name of <cpu-familyname>.

Currently, TizenRT supports only ARM architecture with armv7-m, armv7-r and common folders.

-Suggestion

Note

Value of config ARCH should be same as folder name of <cpu-familyname>. Currently, TizenRT supports only ARM architecture with armv7-m, armv7-r and common folders.

-Review comment I recommend using BlockQuote when writing Note. Please refer to style guide. https://github.com/Samsung/tizen-docs/blob/master/styleguide/template-guide.md#note

# 5. line 98 -Original The chip folder of src should include Make.defs and Kconfig to provide configuration and compilation. -Suggestion The chip folders of src should include Make.defs and Kconfig to provide configuration and compilation. -Review comment Since there may be more than one chip folder, they must be expressed in plural.

# 6. line 100 -Original Kconfig of os/arch/ supports selection of chip among TizenRT supported like CPU.

-Suggestion Kconfig of os/arch/\<cpu-familyname> supports selection of chip among TizenRT supported like CPU.

-Review comment The between the asterisks for emphasis is not shown. Please add a backslash before the angle bracket, or change the angle bracket to entity code such as \< and \>.

# 7. line 173 -Original After building, you can find chip and board folders at os/arch//src folder. -Suggestion After building, you can find chip and board folders at os/arch/\<cpu-familyname>/src folder. -Review comment The between the asterisks for emphasis is not shown.. Please add a backslash before the angle bracket, or change the angle bracket to entity code such as \< and \>.

# 8. line 180 -Original make distclean command unlinks them.

-Suggestion

Note

If you want to unlink the chip and board folders from the linked cpu folder, you can use the make distclean command.

-Review comment I recommend using Note for this content.

# 9. line 186 -Original

  1. Add a new folder with board name.

    mkdir build/configs/<board-name>
  2. Add the script folder and add the linker script file.

    mkdir build/configs/<board-name>/scripts
  3. Add a new folder with representing main program name under \<board-name> folder.

    mkdir build/configs/<board-name>/<program-name>
  4. Put defconfig and Make.defs inside \<program-name>. -Suggestion

  5. Add a new folder with board name.

    mkdir build/configs/<board-name>
  6. Add the script folder and add the linker script file.

    mkdir build/configs/<board-name>/scripts
  7. Add a new folder with representing main program name under \<board-name> folder.

    mkdir build/configs/<board-name>/<program-name>
  8. Put defconfig and Make.defs inside \<program-name>. -Review comment Please adjust the indent.

# 10. line 191 -Original

  1. Add the script folder and add the linker script file. -Suggestion
  2. Add the scripts folder and add the linker script file. -Review comment The folder name is scripts, not script.

[HowToConfigureMemory.md] # 1. line 1 -Original

How to configure Memory

Contents

-Suggestion

How to configure Memory

short introduction

Contents

-Review comment Please add a short introduction to How to configure Memory.

# 2. line 4 -Original

Configuration
Linker Scripts
Multi-Heap Support

-Suggestion

-Review comment I recommend using Unordered Lists rather than BlockQuote for the list of contents. Please refer to style guide. https://github.com/Samsung/tizen-docs/blob/master/styleguide/template-guide.md

# 3. line 10 -Original Menuconfig helps to change them as shown below:

cd $TIZENRT_BASEDIR
cd os
make menuconfig

Find configs with following step:

Hardware Configuration -> Chip selection -> Boot Memory Configuration

Set CONFIG_RAM_REGIONx_START as hexa value and set CONFIG_RAM_REGIONx_SIZE as decimal value in bytes.

CONFIG_RAM_REGIONx_START=0x02023800
CONFIG_RAM_REGIONx_SIZE=968704

-Suggestion Menuconfig helps to change them as shown below:

  1. Execute make with the menuconfig option.
    cd $TIZENRT_BASEDIR
    cd os
    make menuconfig
  2. To find configs, select Hardware Configuration -> Chip selection -> Boot Memory Configuration.
  3. Set CONFIG_RAM_REGIONx_START as hexa value and set CONFIG_RAM_REGIONx_SIZE as decimal value in bytes.
    CONFIG_RAM_REGIONx_START=0x02023800
    CONFIG_RAM_REGIONx_SIZE=968704

    -Review comment Please use Ordered lists because it is sequential content.

[HowToConfirmNetworkPorting.md] # 1. line 9 -Original

Wi-Fi Manager Test
TCP and UDP Performance

-Suggestion

-Review comment I recommend using Unordered Lists rather than BlockQuote for the list of contents. Please refer to style guide. https://github.com/Samsung/tizen-docs/blob/master/styleguide/template-guide.md

# 2. line 13 -Original Wi-Fi Manager supports sample application, called wm_test,
for ease of use and performance evaluation of the Wi-Fi Manager APIs. -Suggestion For ease of use and performance evaluation of the Wi-Fi Manager APIs, Wi-Fi Manager supports sample application, called wm_test. -Review comment I recommend reordering the two sentences for readability.

# 3. line 17 -Original Below is a list of services provided by wm_test:
start and stop of Wi-Fi Manager, joining and leaving the network, running SoftAP, scanning, getting connection information.

-Suggestion The list of services provided by wm_test is as follows:

-Review comment I recommend using Unordered Lists for the contents of the list.

# 4. line 24 -Original

How to Enable wm_test

-Suggestion

How to Enable/Disable wm_test

-Review comment I recommend changing the title because this is the content that enable / disable the Wi-Fi Manager sample application.

# 5. line 25 -Original To enable/disable Wi-Fi Manager sample application,

cd $TIZENRT_BASEDIR
cd os
./dbuild.sh menuconfig (or make menuconfig)

Select Application Configuration -> Examples -> Wi-Fi Manager Sample

-Suggestion To enable the Wi-Fi Manager sample application, do the following:

  1. Execute the dbuild.sh script with the menuconfig option.
    cd $TIZENRT_BASEDIR
    cd os
    ./dbuild.sh menuconfig (or make menuconfig)
  2. Select Application Configuration -> Examples -> Wi-Fi Manager Sample

-Review comment Please use Ordered lists because it is sequential content.

# 6. line 34 -Original

  1. Please type wm_test as below to obtain how to use it,

-Suggestion

  1. Please type wm_test as below to obtain how to use it,

-Review comment Is there any special reason why you started Ordered Lists from zero? If there is no special reason, please start from 1.

# 7. line 46 -Original Note that Wi-Fi Manager runs DHCPC automatically. SECURITY list: open, wep_shared, wpa_aes, wpa2_aes, wpa2_mixed.

-Suggestion The list of SECURITY is as follows:

Note

Wi-Fi Manager runs DHCPC automatically.

-Review comment I recommend using BlockQuote when writing Note and using Unordered Lists for the contents of the list. . Please refer to style guide. https://github.com/Samsung/tizen-docs/blob/master/styleguide/template-guide.md

# 8. line 85 -Original To enable it,

cd $TIZENRT_BASEDIR
cd os
./dbuild.sh menuconfig (or make menuconfig)

Select External Libraries -> Enable Stress Tool
Select Application Configuration -> Enable Stress Tool For WiFi Manager
Please refer to 'Help' and fill in the necessary parts below.
Finally you can run stress test:

TASH>> wm_test stress

-Suggestion To enable the stress test tool, do the following:

  1. Execute the dbuild.sh script with the menuconfig option.
    cd $TIZENRT_BASEDIR
    cd os
    ./dbuild.sh menuconfig (or make menuconfig)
  2. Select External Libraries -> Enable Stress Tool
  3. Select Application Configuration -> Enable Stress Tool For WiFi Manager
  4. Type as below to run stress test
    TASH>> wm_test stress

    -Review comment Please use Ordered lists because it is sequential content.

# 9. line 100 -Original To enable Wi-Fi Manager UTC,

cd $TIZENRT_BASEDIR
cd os
./dbuild.sh menuconfig (or make menuconfig)

Select Application Configuration -> Examples -> TestCase Example
Select TestCase Example -> Wi-Fi Manager UTC TestCase Example
Please refer to 'Help' and fill in the necessary parts below.
Finally you can run Wi-Fi Manager UTC:

TASH>> wifi_manager_utc

-Suggestion To enable Wi-Fi Manager UTC, do the following:

  1. Execute the dbuild.sh script with the menuconfig option.
    cd $TIZENRT_BASEDIR
    cd os
    ./dbuild.sh menuconfig (or make menuconfig)
  2. Select Application Configuration -> Examples
  3. Select TestCase Example -> Wi-Fi Manager UTC TestCase Example
  4. Type as below to run Wi-Fi Manager UTC
    TASH>> wifi_manager_utc

    -Review comment Please use Ordered lists because it is sequential content.

# 10. line 113 -Original If you see the results shown below, all UTC are passed successfully. -Suggestion If all UTC are passed successfully, the results are shown as below. -Review comment It is better to express the cause first and then the result.

# 11. line 125 -Original Assumming successful LwIP loading on the system, TCP/UDP throughput can be measured by using iperf3.

-Suggestion Assumming successful LwIP loading on the system, TCP/UDP throughput can be measured by using iperf3.

-Review comment Line breaks occurred by typing two spaces at the end of a sentence on the first line.

# 12. line 127 -Original To enable it,

cd $TIZENRT_BASEDIR
cd os
./dbuild.sh menuconfig (or make menuconfig)

Select External Libraries -> cJSON library
Select Application Configuration -> System Libraries and Add-Ons -> iperf App
After a successful Wi-Fi connection,

-Suggestion To enable iperf, do the following:

  1. Execute the dbuild.sh script with the menuconfig option.
    cd $TIZENRT_BASEDIR
    cd os
    ./dbuild.sh menuconfig (or make menuconfig)
  2. Select External Libraries -> cJSON library
  3. Select Application Configuration -> System Libraries and Add-Ons -> iperf App
  4. After a successful Wi-Fi connection,

-Review comment Please use Ordered lists because it is sequential content.

# 13. line 136 -Original

[HowToDebug.md] # 1. line 3 -Original Here are several debug methods.

How to use RAMDUMP
How to use Shell Commands
How to use Logging System

-Suggestion There are three debug methods.

-Review comment I recommend using Unordered Lists rather than BlockQuote for the list of contents. Please refer to style guide. https://github.com/Samsung/tizen-docs/blob/master/styleguide/template-guide.md

[HowToDevelopThingsUsingSTThings.md] # 1. line 21 -Original

  1. Create a cloud-connected device [Details]
    -Suggestion
  2. Create a cloud-connected device [Details]
    -Review comment It looks like the url has changed. Please check.

# 2. line 31 -Original The device definition is stored in a JSON configuration file that you need to provide [Device Definition] -Suggestion The device definition is stored in a JSON configuration file that you need to provide [Device Definition] -Review comment It looks like the url has changed. Please check.

# 3. line 34 -Original

1. with Tizen Studio for RT

2. without the IDE

-Suggestion

with Tizen Studio for RT

without the IDE

-Review comment Since the heading level is 2 for Getting Started, the rest of headings should start from level 3. And since this is not sequential content, there is no need for ordered lists. Please delete the number.

[HowToDevelopThingsWithTizenStudioForRT.md] # 1. line 1 -Original

How to develop things with Tizen Studio for RT

Prerequisites

-Suggestion

How to develop things with Tizen Studio for RT

Short introduction.

Prerequisites

-Review comment Please add a short introduction to HowToDevelopThingsWithTizenStudioForRT.

# 2. line 8 -Original

$ sudo apt-get install libwebkitgtk-1.0-0

-Suggestion

$ sudo apt-get install libwebkitgtk-1.0-0

-Review comment I recommend using Code Blocks rather than BlockQuote. Please refer to style guide. https://github.com/Samsung/tizen-docs/blob/master/styleguide/style.md#inline-code-blocks-with-language-identifier

# 3. line 10 -Original

1. Install the Tizen Studio for RT

2. Create a Project

3. Manage Device / Resource Model

Checking Device, Resource, and Property Information

Managing Resources

Generating Stub Code

4. Build the Project

Using Batch Build

Using Build Project

5. Flash the Project

-Suggestion

1. Install the Tizen Studio for RT

2. Create a Project

3. Manage Device / Resource Model

Checking Device, Resource, and Property Information

Managing Resources

Generating Stub Code

4. Build the Project

Using Batch Build

Using Build Project

5. Flash the Project

-Review comment Please modify the Header size like Suggestion.

# 4. line 21 -Original You can create a new SmartThings project from remote Git repositories as well as local templates. To create a new project:

-Suggestion There are two ways to create a new SmartTings project. One is to use local templates and the other is to use remote Git repositories.

-Review comment It is better to spectify that there are two ways to create a new project.

# 5. line 32 -Original

-Suggestion -Review comment There is no content for Import and export device models, and the link does not work.

# 6. line 45 -Original

-Suggestion -Review comment : The url doesn't work. Please check.

# 7. line 46 -Original if you want to connect the device through cloud, should register your device info first. -Suggestion If you want to connect the device through cloud, you should register your device info first. -Review comment Please start with a capital letter.

# 8. line 59 -Original

-Suggestion

-Review comment Please attach the image as above steps.

# 9. line 62 -Original When you click Finish in the Model Manager, the code for processing the resource is automatically created for the selected device.
Source code generated by the Model MAnager

-Suggestion -Review comment rt_model_export_model_window.png file is not related to generating Stub Code. Please replace it with a proper image.

# 10. line 64 -Original Source code sample
When the project is created, template code for the selected device and resources is automatically generated and opened for editing:

-Suggestion When the project is created, template code for the selected device and resources is automatically generated and opened for editing: Source code sample

-Review comment For consistency with other parts, please change the order of image and content.

# 11. line 66 -Original

<common_handlers.c>
- Reset, ownership transfer, and status change handlers
- You need to write additional code for the functionality you want.

<resource_<uri>.c>
- Get and set handlers for a resource
- You need to write additional code for the functionality you want.
- Refer to annotation or TODO in the resource file.

<Makefile> and <Make.defs>
- Makefile for building the project

<st_things_main.c>, <things.c>, <things.h>
- Project initialization, handler registration, and main loop

-Suggestion The list of generated files is as follows.

-Review comment Please do not use Code Blocks for file lists.

# 12. line 87 -Original You can build a TizenRT project in 2 ways: using a batch build or build project command. -Suggestion You can build a TizenRT project in two ways. -using a batch build -build project command

-Review comment Please change 2 to two and use Unordered Lists.

# 13. line 92 -Original

  1. To build the selected project, use 1 of the following:
    In the Tizen Studio for RT menu, select Project > Batch Build Project.
    In the Tizen Studio for RT toolbar, click the Build TizenRT Project icon.
    Select 'Batch Build Project'
    Click the icon

-Suggestion

  1. To build the selected project, use one of the following:
    • In the Tizen Studio for RT menu, select Project > Batch Build Project.
      Select 'Batch Build Project'
    • In the Tizen Studio for RT toolbar, click the Build TizenRT Project icon.
      Click the icon

-Review comment Please change 1 to one and use Unordered Lists.

# 14. line 97 -Original

  1. In the Build TizenRT Project Wizard, select the board - artik053 - and build option - st_things - for building your project, and click OK. -Suggestion
  2. In the Build TizenRT Project Wizard, select the board as artik053 and build option as st_things for building your project, and click OK . -Review comment I recommend modifying it like Suggestion.

# 15. line 105 -Original

  1. In the Tizen Studio for RT toolbar, click the arrow next to the Build TizenRT Project icon and select Select Board. -Suggestion
  2. In the Tizen Studio for RT toolbar, click the arrow next to the Build TizenRT Project icon and select Select Board. -Review comment Please emphasize only Select Board.

# 16. line 107 -Original

  1. In the Select Board and PreDefine Option window, select the board - artik053 - and build option - st_things - for building your project, and click OK.
    -Suggestion
  2. In the Select Board and PreDefine Option window, select the board as artik053 and build option as st_things for building your project, and click OK . -Review comment I recommend modifying it like Suggestion.

# 17. line 109 -Original

  1. In the Tizen Studio for RT toolbar, build the project by selecting Project > Build Project.
    -Suggestion
  2. In the Tizen Studio for RT toolbar, select Project > Build Project for building the project.
    -Review comment For consistency with other parts, please modifying it like Suggestion.

[HowToManageDeviceModel.md] # 1. line 1 -Original

How to manage SmartThings Things device model.

Importing and Exporting Device Models

-Suggestion

How to manage SmartThings Things device model.

short introduction

Importing and Exporting Device Models

-Review comment Please add a short introduction to HowToManageDeviceModel.

# 2. line 11 -Original

Managing Resource

You can select, add, and restore resources:

-Suggestion -Review comment It is not relevant to Importing and Exporting Device Models. The Managing Resources content of the HowToDevelopThingsWithTizenStudioForRT.md file seems to be added incorrectly . Please delete it.

[HowToPortTizenRTOnWiFiChipset.md] # 1. line 1 -Original

How to port TizenRT on new WiFi chipset

How to add external WiFi library

-Suggestion

How to port TizenRT on new WiFi chipset

:

Contents

How to add external WiFi library

-Review comment I recommend adding a list of the contents of the document.

# 2. line 20 -Original Changes in external directory for a new WiFi board to include new chipset driver. -Suggestion Change in external directory for a new WiFi board to include new chipset driver. -Review comment Please modify Changes to Change

# 3. line 22 -Original

  1. Make sure you have defined CONFIGDRIVER\<DRIVER_NAME> in external/wpa_supplicant/Kconfig. Refer to the example below for CONFIG_DRIVER_T20, which is subject to the condition that CONFIG_SCSC_WLAN is enabled already.
    config DRIVER_T20
    bool "Driver T20 for SLSI WiFi"
    default y
    depends on SCSC_WLAN

-Suggestion

  1. Make sure you have defined CONFIGDRIVER\<DRIVER_NAME> in external/wpa_supplicant/Kconfig. Refer to the example below for CONFIG_DRIVER_T20, which is subject to the condition that CONFIG_SCSC_WLAN is enabled already.
    config DRIVER_T20
        bool "Driver T20 for SLSI WiFi"
        default y
    depends on SCSC_WLAN

    -Review comment Please modify the indent of all codefence in the document like suggestion.

# 4. line 41 -Original Inside driver_\<driver_name>.c, declare a driver structure variable named wpadriver\<driver_name>_ops. wpadriver\<driver_name>_ops is a structure of type wpa_driver_ops that is declared in external/wpa_supplicant/src/drivers/driver.h. The wpa_driver_ops structure contains function pointers to the specific WiFi Driver that the supplicant links to. As an example, refer to the wpa_driver_t20_ops structure declared in external/wpa_supplicant/src/drivers/driver_t20.c for the LSI WiFi chipset. -Suggestion -Review comment Please adjust the indent of No. 2.

# 5. line 70 -Original This links the supplicant to the relevant WiFi Driver. -Suggestion -Review comment Please adjust the indent of No. 3.

# 6. line 116 -Original (Recommanded folder path is os/driver/wireless//wpa_supplicant). -Suggestion Recommanded folder path is os/driver/wireless//wpa_supplicant. -Review comment Please remove the round brackets. We do not recommend enclosing a sentence in round brackets.

# 7. line 128 -Original These details are covered further in Interfacing WiFi Driver to network stack. -Suggestion These details are covered further in Interfacing WiFi Driver to network stack. -Review comment The link for Interfacing WiFi Driver to network stack does not work.

# 8. line 153 -Original The driver interface should provide a generic ops functions listed by struct lwnl80211_ops_s in _drv.c as shwon below, -Suggestion The driver interface should provide a generic ops functions listed by struct lwnl80211_ops_s in _drv.c as shown below, -Review comment Please change shwon to shown.

# 9. line 237 -Original LWNL80211 now adopts a generic virtual file system (vfs) of TizenRT, so the registration API is provided in os/drivers/lwnl/lwnl80211.c'. -Suggestion LWNL80211 now adopts a generic virtual file system (vfs) of TizenRT, so the registration API is provided in os/drivers/lwnl/lwnl80211.c*. -Review comment Please change single quotes to asterisk.

# 10. line 258 -Original Inside the \<board>_wlan.c file, this can be implemented as a three step process -Suggestion Inside the \<board>_wlan.c file, this can be implemented as a three step process: -Review comment Please add a semicolon at the end of the sentence.

[HowToSetEnv.md] # 1. line 1 -Original

Manual Setup Build Environment

Getting the toolchain

-Suggestion

How to port TizenRT on new WiFi chipset

Short introduction

Contents

Getting the toolchain

-Review comment I recommend adding a short introduction to Manual Setup Build Environment and list of the contents of the document.

# 2. line 4 -Original Install the OS specific toolchain. Supported OS Type's are "linux" and "mac".
-Suggestion Install the OS specific toolchain. Supported OS types are "linux" and "mac".
-Review comment Please change Type's to types.

# 3. line 5 -Original Get the build in binaries and libraries, gcc-arm-none-eabi-6-2017-q1-update-OS Type.tar.bz2
-Suggestion Get the binaries and libraries from gcc-arm-none-eabi-6-2017-q1-update-OS Type.tar.bz2 to build. -Review comment Is build used as a noun? I don't know what this sentence means. Please refer to Suggestion and write again correctly.

# 4. line 5 -Original Get the build in binaries and libraries, gcc-arm-none-eabi-6-2017-q1-update-OS Type.tar.bz2 -Suggestion Get the build in binaries and libraries, gcc-arm-none-eabi-6-2017-q1-update-OS Type.tar.bz2 -Review comment Url has changed. Please check and modify.

# 5. line 6 -Original Untar the gcc-arm-none-eabi-6-2017-q1-update-OS Type.tar.bz2 and export the path like -Suggestion Unzip the gcc-arm-none-eabi-6-2017-q1-update-OS Type.tar.bz2 and export the path as shown below. -Review comment Please refer to Suggestion.

# 6. line 12 -Original Be aware that recommended toolchain is fully working on 64bits machine. -Suggestion

Note

The recommended toolchain fully working on 64-bit machines.

-Review comment I recommend writing this as Note.

# 7. line 29 -Original The configuration file is named defconfig,
and resides under the relative path \<board>/\<configuration_set> rooted at build/configs.
-Suggestion The configuration file is named defconfig, and resides under the relative path \<board>/\<configuration_set> rooted at build/configs.
-Review comment Line breaks occurred by typing two spaces at the end of a sentence on the first line.

[HowToUseAudio.md] # 1. line 2 -Original

TizenRT's Audio Framework

TizenRT's audio framework has 4 components namely;

Audio Subsystem
Audio Codec Drivers
Tinyalsa
Device Drivers

Audio Subsystem

:

Audio Codec Drivers

:

Tinyalsa

:

Device Drivers

:

Audio Codec Setup

:

Audio Device Registration

-Suggestion

TizenRT Audio Framework

short introduction (TizenRT provide Audio Framwork ~~~~.)

Contents

Audio framework components

TizenRT audio framework has four components.

Audio Subsystem

:

Audio Codec Drivers

:

Tinyalsa

:

Device Drivers

:

Audio Codec Setup

:

Audio Device Registration

-Review comment Please add a short introduction to TizenRT Audio Framework and a Contents section.

# 2. line 12 -Original Audio Subsystem binds the upper half of audio devices exposed to the application to
the lower half through POSIX like system APIs.
-Suggestion Audio Subsystem binds the upper half of audio devices exposed to the application to the lower half through POSIX like system APIs.
-Review comment Line breaks occurred by typing two spaces at the end of a sentence on the first line.

# 3. line 23 -Original Refer HowToUseTinyAlsa to find out how to develop audio applications using TinyAlsa -Suggestion Refer HowToUseTinyAlsa to find out how to develop audio applications using TinyAlsa. -Review comment The link for HowToUseTinyAlsa does not work. And please put a period at the end of the sentence.

# 4. line 27 -Original Most commonly, audio devices use I2S port for audio data path and I2C, SPI etc for audio control path. -Suggestion Most commonly, audio devices use I2S port for audio data path and I2C, SPI, etc. for audio control path. -Review comment Please put a period after etc.

# 5. line 29 -Original Please refer HowToUsePeripheral -Suggestion Please refer HowToUsePeripheral. -Review comment Please put a period at the end of the sentence.

# 6. line 62 -Original Example: os/arch/arm/src/artik05x/src/artik055_alc5658.c -Suggestion -Review comment The link for artik055_alc5658.c does not work.

# 7. line 67 -Original

Input: /dev/pcmC[card id]D[device id]c
Output: /dev/pcmC[card id]D[device id]p

-Suggestion

-Review comment I recommend using Unordered Lists rather than BlockQuote.

[HowToUseIoTjs.md] # 1. line 1 -Original

How to use IoT.js

IoT.js is an open source software platform for Internet of Things with JavaScript.

For more mode detailed information, please check: http://www.iotjs.net

Or shipped README in sources. -Suggestion

How to use IoT.js

IoT.js is an open source software platform for Internet of Things with JavaScript. For more details, please refer to http://www.iotjs.net or shipped README in sources. -Review comment Unnecessary line breaks are not recommended.

# 2. line 1 -Original

How to use IoT.js

:

Use reference configuration

-Suggestion

How to use IoT.js

:

Contents

Use reference configuration

-Review comment Please add Contents section.

# 3. line 23 -Original Using menuconfig an example can be used to selected needed feature. -Suggestion To select the required feature, you can use the menuconfig as in the example below. -Review comment The subject and meaning of this sentence are not clear.

# 4. line 39 -Original File can be loaded for different locations, For convenience, it is recommended to use the approach of adding a ROM partition as explained in HowToUseROMFS.md -Suggestion File can be loaded for different locations. For convenience, it is recommended to use the approach of adding a ROM partition as explained in HowToUseROMFS.md. -Review comment Please change the comma at the end of the first sentence to a period. And put a period at the end of the last sentence.

# 5. line 51 -Original WiFi can be also enabled on boot if you want to join a network before running the script.

You need to run "make menuconfig" again and edit credentials. -Suggestion WiFi can be also enabled on boot if you want to join a network before running the script. You need to run "make menuconfig" again and edit credentials. -Review comment Unnecessary line breaks are not recommended.

# 6. line74 -Original Resources: -Suggestion Resources -Review comment For consistency of title, please remove the colon.

[HowToUseLWIP.md] # 1. line 6 -Original

Main Features
Writing device driver

-Suggestion

-Review comment I recommend using Unordered Lists rather than BlockQuote for the list of contents. Please refer to style guide. https://github.com/Samsung/tizen-docs/blob/master/styleguide/template-guide.md

# 2. line 11 -Original

  1. Application layer - Domain Name Server (DNS), Simple Network Management Protocol (SNMP) agent, Dynamic Host Configuration Protocol (DHCP) server/client, Simple Network Time Protocol (SNTP), Multicast DNS, MQTT client.
  2. Transport layer - User Datagram Protocol (UDP), UDP-Lite extentions, Transmission Control Protocol (TCP), RAW socket and pcbs, Berkeley-like socket API.
  3. Internet layer - IPv4 and IPv6, packet forwarding over multiple network interfaces, Internet Control Message Protocol (ICMP) and ICMPv6, Internet Group Management Protocol (IGMP).
  4. Link layer - Point-to-point protocol (PPP), Ethernet Address Resoultion Protocol (ARP), Neighbor Discovery Protocol (NDP) and NDPv6.

-Suggestion

-Review comment Since this is not sequential content, there is no need for ordered lists. I recommend using Unordered Lists rather than Ordered List.

# 3. line 25 -Original

  1. Enable LwIP
    Networking Support -> Networking Stack (LwIP)
  2. Select features
    Networking Support -> LwIP options

    -Suggestion

  3. Enable LwIP
    Networking Support -> Networking Stack (LwIP)
  4. Select features
    Networking Support -> LwIP options

    -Review comment Please modify the indent of all codefence in the document like suggestion.

# 4. line 36 -Original Assumming successful LwIP loading on the system, -Suggestion Assuming successful LwIP loading on the system, -Review comment Please change Assumming to Assuming.

# 5. line94 -Original This an be accomplished depending on how the interface gets its IP address. -Suggestion This can be accomplished depending on how the interface gets its IP address. -Review comment Please change an to can.

# 6. line 115 -Original

  1. NETIF_LWIP_UP: When a network interface is enabled and able to process traffic, this flag should be set to true. Simply, set it to true or false, according to the device driver's status; initialized or deinitialized. Use LwIP APIs as below (defined in netif.c) to control the flag. :
  2. NETIF_LWIP_LINK_UP: This flag should be set to true or false, when the link is activated or deactivated, respectively. Use LwIP APIs as below (defined in netif.c) to control the flag.

-Suggestion

-Review comment Since this is not sequential content, there is no need for ordered lists. I recommend using Unordered Lists rather than Ordered List.

# 7. line 130 -Original

-Suggestion

Note

In general, device driver up/down and link up/down are not strictly distinguished in LwIP structure. However, when the device driver changes its operation mode from STATION to AP, both NETIF_LWIP_UP and NETIF_LWIP_LINK_UP can be set to 0 simultaneously, or only NETIF_LWIP_LINK_UP is set to 0 without changing NETIF_LWIP_UP, depending on the device driver structure.

-Review comment I recommend using BlockQuote when writing Note. Please refer to style guide. https://github.com/Samsung/tizen-docs/blob/master/styleguide/template-guide.md#note

# 8. line 136 -Original

  1. INPUT: To pass a packet up the TCP/IP stack by the device driver, netif->input registered by netif_add() API should be called with pbuf. To allocate pbuf and manage it in the driver level, please refer to APIs defined in pbuf.h (LwIP pbuf APIs). In general, tcpip_input() defined in tcpip.c is used as below. :
  2. OUTPUT: To send a packet on the interface to the link, netif->linkoutput implemented by the device driver should be called with pbuf.

-Suggestion

-Review comment Since this is not sequential content, there is no need for ordered lists. I recommend using Unordered Lists rather than Ordered List.

# 9. line 142 -Original NOTE: Even if pbuf allocation fails due to memory pool overflow from LwIP, the driver should not discard the packet rashly. -Suggestion

Note

Even if pbuf allocation fails due to memory pool overflow from LwIP, the driver should not discard the packet rashly.

-Review comment I recommend using BlockQuote when writing Note. Please refer to style guide. https://github.com/Samsung/tizen-docs/blob/master/styleguide/template-guide.md#note

# 10. line 149 -Original NOTE: The driver can optimize its structure to manage the packets received from the pbuf. However, it cannot drop the packet arbitrarily, depending on the queue or status of the driver. -Suggestion

Note

The driver can optimize its structure to manage the packets received from the pbuf. However, it cannot drop the packet arbitrarily, depending on the queue or status of the driver.

-Review comment I recommend using BlockQuote when writing Note. Please refer to style guide. https://github.com/Samsung/tizen-docs/blob/master/styleguide/template-guide.md#note

[HowToUseLoggingSystem.md] # 1. line 5 -Original

Debug Messages
Logging Modules

-Suggestion

-Review comment I recommend using Unordered Lists rather than BlockQuote for the list of contents. Please refer to style guide. https://github.com/Samsung/tizen-docs/blob/master/styleguide/template-guide.md

# 2. line 17 -Original

-Suggestion

-Review comment Please change 3 to three. Numbers below 10 are not recommended to be written in Arabic numerals.

# 3. line 21 -Original Now you have 6 combinations of debug levels and interface levels to consider, and therefore, you have 6 macros, which are as follows: -Suggestion Now you have six combinations of debug levels and interface levels to consider, and therefore, you have six macros, which are as follows: -Review comment Please change 6 to six. Numbers below 10 are not recommended to be written in Arabic numerals.

# 4. line 40 -Original

  1. Enable the debugging Feature.
    Debug Option -> Enable Debug Features to y

-Suggestion

  1. Enable the debugging Feature.
    Debug Option -> Enable Debug Features to y

    -Review comment Please modify the indent of all codefence in the document like suggestion.

# 5. line 50 -Original Depending on which level you select, the corresponding options will be displayed on the menuconfig for you to choose from.

-Suggestion Depending on the selected level, the corresponding options will be displayed on the menuconfig.

-Review comment I recommend to modify like Suggestion. And please adjust the indent.

# 6. line 52 -Original

  1. Enable the debugging modules with level.

For example, to enable filesystem debug with error level and network debug with error and warning level,

-Suggestion

  1. Enable the debugging modules with level. For example, to enable filesystem debug with error level and network debug with error and warning level.

-Review comment Unnecessary line breaks are not recommended. And please change a comma at the end of the sentence to a period.

# 7. line 65 -Original There are 3 kinds of logging modules, LogM and 2 Syslog Devices. -Suggestion There are three kinds of logging modules, LogM and two Syslog Devices. -Review comment Please change 3 and 2 to three and two. Numbers below 10 are not recommended to be written in Arabic numerals.

[HowToUseMPU.md] # 1. line 1 -Original

MPU

-Suggestion

MPU

MPU supports 12 or 16 memory regions, depending on the configuration. For your information, ARMv7-R has 12 memory regions. Each region of MPU should be programmed with a base address and size. -Review comment Header should start from H1. And we do not recommend enclosing a sentence in round brackets.

# 2. line 1 -Original

MPU Initialization and Memory Region Setup

:

Memory Region Setup Functions

:

Example:

-Suggestion

MPU Initialization and Memory Region Setup

:

Memory Region Setup Functions

:

Example

-Review comment Please change ### to ##. And delete the colon after Example.

# 3. line 1 -Original

MPU

:

MPU Initialization and Memory Region Setup

-Suggestion

MPU

:

Contents

MPU Initialization and Memory Region Setup

-Review comment Please add Contents section.

# 4. line 6 -Original Memory regions are set up by using the functions in below table and each function requires 2 arguments which are Region Base Address and Region Size to setup a memory region. -Suggestion Memory regions are set up by using the functions in below table and each function requires two arguments which are Region Base Address and Region Size to setup a memory region. -Review comment Please change 2 to two. Numbers below 10 are not recommended to be written in Arabic numerals.

[HowToUseMultiHeap.md] # 1. line 1 -Original

How to use(add) Multi-heap

There are two cases to use multi-heap.

  1. continuous physical RAM but want to split regions
  2. separated physical RAMs but want to use for heap

To enable multi-heap, please find three steps as shown below:

To use multi-heap, please find a link as shown below:
Supported APIs

-Suggestion

How to use Multi-heap

There are two cases to use multi-heap.

Contents

To enable multi-heap

To enable multi-heap, please find three steps as shown below:

  1. Set number of Regions :

To use multi-heap

Example of Multi-heap Usage

:

Supported APIs

-Review comment I recommend changing to a layout like Suggetion.

# 2. line 29 -Original For a detailed description of REGION and HEAP, please see the link below.
Terms for REGION and HEAP
-Suggestion For a detailed description of REGION and HEAP, please refer to Terms for REGION and HEAP. -Review comment I recommend changing it like Suggetion.

# 3. line 34 -Original Set start addresses, CONFIG_RAM_REGIONx_START with hexa values, set sizes, CONFIG_RAM_REGIONx_SIZE with decimal values(in bytes) of new heap, and set indexes, CONFIG_RAM_REGIONx_HEAP_INDEX with decimal values of new heap in menuconfig.
CONFIG_RAM_REGIONx_HEAP_INDEX can be start from 0. -Suggestion In menuconfig, set start addresses, CONFIG_RAM_REGIONx_START to hexa values, set sizes, CONFIG_RAM_REGIONx_SIZE to decimal values(in bytes) of new heap, and set indexes, CONFIG_RAM_REGIONx_HEAP_INDEX to decimal values of new heap. CONFIG_RAM_REGIONx_HEAP_INDEX can be start from 0. -Review comment I recommend changing it like Suggetion.

# 4. line 37 -Original

Hardware Configuration -> Chip Selection -> List of start address for RAM region -> set values
Hardware Configuration -> Chip Selection -> List of size for RAM region
Hardware Configuration -> Chip Selection -> List of heap index for RAM region

-Suggestion

Hardware Configuration -> Chip Selection -> List of start address for RAM region -> set values
Hardware Configuration -> Chip Selection -> List of size for RAM region -> set values
Hardware Configuration -> Chip Selection -> List of heap index for RAM region -> set values

-Review comment The set values step is missing on line 2 and 3.

# 5. line 51 -Original If there are 3 physical RAMs, and want to use them as 4-heaps like below.
-Suggestion If there are three physical RAMs, and want to use them as four heaps like below.
-Review comment Please change 3 and 4 to three and four. Numbers below 10 are not recommended to be written in Arabic numerals.

[HowToUsePeripheral.md] # 1. line 1 -Original

How to Use Peripheral

Here are 5 parts, GPIO, UART, SPI, I2C and I2S to use peripheral.

-Suggestion

How to Use Peripheral

TizenRT provides five parts to use peripheral.

Contents

-Review comment I recommend changing to a layout like Suggetion.

# 2. line 6 -Original Each board, shall;

Implement and expose an instance of struct gpio_lowerhalf_s.
Implement the supported operations on struct gpio_ops_s. -Suggestion Each board shall follow:

-Review comment I recommend changing it like Suggetion.

# 3. line 62 -Original

struct gpio_lowerhalf_s *lower = [BOARD]_gpio_lowerhalf(pinset);
gpio_register(pin_number, lower);

-Suggestion

struct gpio_lowerhalf_s *lower = [BOARD]_gpio_lowerhalf(pinset);  
gpio_register(pin_number, lower);

-Review comment I recommend using Code Blocks rather than BlockQuote for the code. Please refer to style guide. https://github.com/Samsung/tizen-docs/blob/master/styleguide/style.md#code.

# 4. line 65 -Original If these steps worked well, the result will be shown on /dev/gpio[pin_number] -Suggestion If these steps worked well, the result will be shown on /dev/gpio[pin_number]. -Review comment Please put a period at the end of the sentence.

# 5. line 99 -Original -> typedef CODE void (gpio_handler_t)(FAR struct gpio_upperhalf_s upper); -Suggestion -Review comment Can you tell me why this part is in?

# 6. line 102 -Original

In [enable] operation, below process must be included. -Suggestion In [enable] operation, below process must be included. -Review comment Please delete BlockQuote.

# 7. line 106 -Original

# 8. line 186 -Original

Add UART device structure

-Suggestion

Add UART device structure

-Review comment Please change ### to ####.

# 9. line 188 -Original That is defined in serial.h under os/include/tinyara/serial folder. -Suggestion This is defined in serial.h under os/include/tinyara/serial folder. -Review comment Please change That to This.

# 10. line 208 -Original

xmit : size and address of transmit buffer
recv : size and address of receive buffer
ops : tables of operations like setup, send, receive and etc
priv : private data of device like baudrate, interrupt number, parity and etc -Suggestion

  • xmit : size and address of transmit buffer
  • recv : size and address of receive buffer
  • ops : tables of operations like setup, send, receive and etc
  • priv : private data of device like baudrate, interrupt number, parity and etc -Review comment I recommend using Unordered Lists rather than BlockQuote for the list.

# 11. line 213 -Original Here is an example. -Suggestion The following is the example code. -Review comment I recommend changing it like Suggetion.

# 12. line 245 -Original All structures and function prototypes to be implemented by the low-level
SPI drivers are provided in the header file spi.h under os/include/tinyara/spi folder. -Suggestion All structures and function prototypes to be implemented by the low-level SPI drivers are provided in the header file spi.h under os/include/tinyara/spi folder. -Review comment Line breaks occurred by typing two spaces at the end of a sentence on the first line.

# 13. line 250 -Original Each SPI device driver must implement the definitions of below prototypes for
SPI device initialization -Suggestion Each SPI device driver must implement the definitions of below prototypes for SPI device initialization. -Review comment Line breaks occurred by typing two spaces at the end of a sentence on the first line. And please put a period at the end of the sentence.

# 14. line 282 -Original Low level(hardware-specific) SPI device driver must create an instance of
struct spi_dev_s and returned to higher level device driver as shown above.
Also the SPI driver must create an instance of struct spi_ops_s and
hook it to the ops member of struct spi_dev_s instance -Suggestion Low level(hardware-specific) SPI device driver must create an instance of struct spi_dev_s and returned to higher level device driver as shown above.
Also the SPI driver must create an instance of struct spi_ops_s and hook it to the ops member of struct spi_dev_s instance. -Review comment Line breaks occurred by typing two spaces at the end of the line. And please put a period at the end of the sentence.

# 15. line 315 -Original The above structure struct spi_ops_s defines a list of function pointers to be
implemented by the low level SPI device driver. -Suggestion The above structure struct spi_ops_s defines a list of function pointers to be implemented by the low level SPI device driver. -Review comment Line breaks occurred by typing two spaces at the end of the first line.

# 16. line 363 -Original Each board, shall;

Implement and expose an instance of struct i2c_dev_s.
Implement the supported operations on i2c struct i2c_op_s.
-Suggestion Each board shall follow:

-Review comment I recommend changing it like Suggetion.

# 17. line 401 -Original

1. EXTERN FAR struct i2c_dev_s *up_i2cinitialize(int port);
2. EXTERN int up_i2cuninitialize(FAR struct i2c_dev_s *dev);
3. EXTERN int up_i2creset(FAR struct i2c_dev_s *dev);

-Suggestion

EXTERN FAR struct i2c_dev_s *up_i2cinitialize(int port);
EXTERN int up_i2cuninitialize(FAR struct i2c_dev_s *dev);
EXTERN int up_i2creset(FAR struct i2c_dev_s *dev);

-Review comment Since this is not sequential content, there is no need for ordered lists. Please delete the number.

# 18. line 415 -Original

NOTE:Be aware that i2c user I/O is at premature stage

-Suggestion

Note

Be aware that i2c user I/O is at premature stage.

-Review comment I recommend writing Note like Suggestion. Please refer to style guide. https://github.com/Samsung/tizen-docs/blob/master/styleguide/template-guide.md#note

# 19. line 426 -Original I2S port for a board involves the following;

  1. I2S Device Structure and its Operations.
  2. I2S Initialization and Device Access.
    -Suggestion I2S port for a board involves the following:
    • I2S Device Structure and Operations.
    • I2S Initialization and Device Access.
      -Review comment Since this is not sequential content, there is no need for ordered lists. I recommend using Unordered Lists rather than Ordered List. And please change its Operations to Operations.

# 20. line 433 -Original Each board, shall;

Implement and expose an instance of struct i2s_dev_s for each port.
Implement the supported operations on i2s, ie struct i2s_op_s. Data structures below; -Suggestion Each board shall follow:

The data structures are as follows:

-Review comment I recommend changing it like Suggetion.

# 21. line 506 -Original NOTE: Current code in s5j_i2s.c has initialize function as struct i2s_dev_s* s5j_i2s_initialize(uint16_t port). -Suggestion

Note

Current code in s5j_i2s.c has initialize function as struct i2s_dev_s* s5j_i2s_initialize(uint16_t port).

-Review comment I recommend using BlockQuote when writing Note. Please refer to style guide. https://github.com/Samsung/tizen-docs/blob/master/styleguide/template-guide.md#note

[HowToUseROMFS.md] # 1. line 5 -Original

1. Generic

:

2. Board Specific

-Suggestion

Generic

:

Board Specific

-Review comment Since this is not sequential content, there is no need for ordered lists. Please delete the number.

[HowToUseSmartFS.md] # 1. line 1 -Original

How to Enable and use SmartFS

Contents

-Suggestion

How to Enable and use SmartFS

Short introduction

Contents

-Review comment Please add a short introduction to How to Enable and use SmartFS.

# 2. line 4 -Original

About SmartFS
SmartFS Code Layering
How to Enable SmartFS on New Board

-Suggestion

-Review comment I recommend using Unordered Lists rather than BlockQuote for the list of contents. Please refer to style guide. https://github.com/Samsung/tizen-docs/blob/master/styleguide/template-guide.md

# 3. line 54 -Original

  1. enable SMART FS -Suggestion
  2. enable SMART FS. -Review comment Please put a period at the end of the sentence.

# 4. line 56 -Original

FLASH Driver

:

MTD Driver

:

SMART MTD Driver

:

SMART FS

-Suggestion

FLASH Driver

:

MTD Driver

:

SMART MTD Driver

:

SMART FS

-Review comment Please change ## to ###.

# 5. line 181 -Original

  1. Enable CONFIG_FS_SMARTFS
    File Systems -> SMART file system = y
  2. Set CONFIG_SMARTFS_ERASEDSTATE
    File Systems -> SMART file system -> SMARTFS options -> FLASH erased state = 0xff
  3. set CONFIG_SMARTFS_MAXNAMLEN=32
    File Systems -> SMART file system -> SMARTFS options -> Maximum file name length = 32
  4. Enable CONFIG_SMARTFS_ALIGNED_ACCESS
    File Systems -> SMART file system -> SMARTFS options -> Ensure 16 and 32 bit accesses are aligned = y

    -Suggestion

  5. Enable CONFIG_FS_SMARTFS
    File Systems -> SMART file system = y
  6. Set CONFIG_SMARTFS_ERASEDSTATE
    File Systems -> SMART file system -> SMARTFS options -> FLASH erased state = 0xff
  7. set CONFIG_SMARTFS_MAXNAMLEN=32
    File Systems -> SMART file system -> SMARTFS options -> Maximum file name length = 32
  8. Enable CONFIG_SMARTFS_ALIGNED_ACCESS
    File Systems -> SMART file system -> SMARTFS options -> Ensure 16 and 32 bit accesses are aligned = y

    -Review comment Please modify the indent of all codefence in the document like suggestion.

# 6. line 111 -Original Refer to os/board/common/partitions.c for example of MTD driver initialization -Suggestion Refer to os/board/common/partitions.c for example of MTD driver initialization. -Review comment Please put a period at the end of the sentence.

# 7. line 149 -Original Smart MTD layer can be enabled by enabling CONFIG_MTD_SMART config -Suggestion Smart MTD layer can be enabled by enabling CONFIG_MTD_SMART config. -Review comment Please put a period at the end of the sentence.

# 8. line 156 -Original And a smart device can be initialized as shown below, (refer os/board/common/partitions.c) -Suggestion And a smart device can be initialized as shown below. (refer os/board/common/partitions.c) -Review comment Please change , to .

# 9. line 189 -Original

  1. set CONFIG_SMARTFS_MAXNAMLEN=32 -Suggestion
  2. Set CONFIG_SMARTFS_MAXNAMLEN=32 -Review comment Please change s to uppercase.

# 10. line 203 -Original 2.CONFIG_SMARTFS_BAD_SECTOR

File Systems -> SMART file system -> SMARTFS options -> Bad Sector Management

3.CONFIG_SMARTFS_DYNAMIC_HEADER

File Systems -> SMART file system -> SMARTFS options -> Dynamic Header

-Suggestion

  1. CONFIG_SMARTFS_BAD_SECTOR
    File Systems -> SMART file system -> SMARTFS options -> Bad Sector Management
  2. CONFIG_SMARTFS_DYNAMIC_HEADER
    File Systems -> SMART file system -> SMARTFS options -> Dynamic Header

    -Review comment Please add a space between number and configuration.

[HowToUseTinyAlsa.md] # 1. line 1 -Original

How to use TinyAlsa to create audio applications

:

Open and close audio device with TinyAlsa

-Suggestion

How to use TinyAlsa to create audio applications

:

Contents

Open and close audio device with TinyAlsa

-Review comment Please add Contents section.

# 2. line 3 -Original TinyAlsa is a small library which exposes a set of API's which can be used by developers to create audio applications on TizenRT. -Suggestion TinyAlsa is a small library which exposes a set of APIs which can be used by developers to create audio applications on TizenRT. -Review comment Please change all API's to APIs in the document.

# 3. line 12 -Original TinyAlsa exposes API's like pcm_open(), pcm_close(), pcm_readi() and pcm_writei() which allow user to capture and playback audio data. -Suggestion TinyAlsa exposes APIs like pcm_open(), pcm_close(), pcm_readi() and pcm_writei() which allow user to capture and playback audio data. -Review comment Please use Inline Code Blocks for all functions in the document.

# 4. line 15 -Original The user can use pcm_open() or pcm_open_by_name() API's to open an audio device, and pcm_close() API to close an audio device. -Suggestion The user can use pcm_open() or pcm_open_by_name() to open an audio device, and pcm_close() to close an audio device. -Review comment There is no need to write an API behind the function. Please delete it.

# 5. line 16 -Original While opening an audio device, the user needs to be careful regarding which device he is trying to open and whether the device supports record/playback according to his usecase requirement. -Suggestion While opening an audio device, the user needs to be careful regarding which device trying to open and whether the device supports record/playback according to user's usecase requirement. -Review comment Please avoid using he or she when writing document. Find and modify the same issues throughout the document.

# 6. line 18 -Original The flags and config parameters in the pcm_open API's may be used to configure the audio device being opened and also to indicate to TinyAlsa about the intended use of the device. -Suggestion The flags and config parameters in the pcm_open() or pcm_open_by_name() may be used to configure the audio device being opened and also to indicate to TinyAlsa about the intended use of the device. -Review comment Please change pcm_open API's to pcm_open() or pcm_open_by_name(). Change the API after all function names to round brackets in the documentation.

# 7. line 86 -Original A set of 4 API's are provided for mmap based operation. -Suggestion A set of four APIs are provided for mmap based operation. -Review comment Please change 4 to four. Numbers below 10 are not recommended to be written in Arabic numerals.

# 8. line 88 -Original pcm_avail_update This API is used to check how much of buffer space is free to write data or how much of buffer is filled with data and ready to be read by the application. The user must always call this API before attempting to read or write data. User can proceed to the read or write step only upon receiving a non zero return value from this API.

pcm_wait This API can be used to wait for either free space or data to become available in the buffers. The user must use this API to wait for the buffers whenever pcm_avail_update returns zero.

pcm_mmap_begin pcm_mmap_commit These two API's are always used as a pair during read and write operations. The pcm_mmap_begin API provides a pointer into the audio buffer which can be used either to read or write data. The API also indicates the amount of data that can be read or written. If the application tries to read or write more data than indicated by the API, the data will be lost and the outcome of such an operation is unpredictable. After performing the read or write operation, the user must call the pcm_mmap_commit API to return the buffer to TinyAlsa for further processing.

At any point of time, the user is free to exit the record/play loop and close the pcm device. Also, each of the above API's indicate error state through their return values. The user has to check these return values and take suitable action.

pcm_mmap_read pcm_mmap_write These are additional API's provided for the sake of compatibility with the ALSA API list. These API's internally make use of the mmap API's to transfer data. However, these API's require the user to allocate data buffers and then copy the data from these buffer to the mmap buffers internally. Hence, they do not provide the advantage of low latency which would be provided by using the other mmap API's directly. Hence, it is recommended to avoid the use of these API's for improving latency reduction.

-Suggestion

-Review comment I recommend changing it like Suggetion.

# 9. line 103 -Original Hence, they do not provide the advantage of low latency which would be provided by using the other mmap API's directly. -Suggestion In other words, they do not provide the advantage of low latency which would be provided by using the other mmap APIs directly. -Review comment I recommend changing Hence to In other words.

[HowtoClean.md] # 1. line 4 -Original One is make clean, another is make distclean. They are executed on os folder. -Suggestion One is make clean, the other is make distclean. They are executed on os folder. -Review comment Please change another to the other.

# 2. line 8 -Original When configuration is changed, executing this guarantees a re-build from scratch. : This includes make clean inside. Additionally this removes configured files like .config and Make.defs. When you want to use new or another defconfig, this should be executed before configuring new one. -Suggestion When configuration is changed, executing it guarantees a re-build from scratch. : This command includes make clean inside. Additionally it removes configured files like .config and Make.defs. When you want to use new or another defconfig, it should be executed before configuring new one. -Review comment Please change This to This command and it.

[HowtoInstallKconfigFrontend.md] # 1. line 10 -Original

  1. Download and untar kconfig-frontends package.
    One of site is Yann Morin's Project.

    tar -xvf kconfig-frontends-x.xx.x.x.tar.bz2
  2. Go to kconfig-frontends folder.

    cd kconfig-frontends-x.xx.x.x
  3. Configure and Build.

    ./configure --enable-mconf --disable-gconf --disable-qconf
    make
    sudo make install

    -Suggestion

  4. Download and unzip kconfig-frontends package.
    One of site is Yann Morin's Project.

    tar -xvf kconfig-frontends-x.xx.x.x.tar.bz2
  5. Go to kconfig-frontends folder.

    cd kconfig-frontends-x.xx.x.x
  6. Configure and Build.

    ./configure --enable-mconf --disable-gconf --disable-qconf
    make
    sudo make install

    -Review comment Please modify the indent of codefence like suggestion.

# 2. line 28 -Original

Trouble Shooting

-Suggestion

Trouble Shooting

Please refer to Trouble Shooting. -Review comment I recommend changing it like Suggetion.

[InstallAdReq.md] # 1. line 3 -Original To use below features, each prerequisites are necessary. -Suggestion To use below features, each prerequisite is required. -Review comment After each must be a singular noun. I recommend changing it like Suggetion.

# 2. line 4 -Original The configure.sh also shows missed package to build configured as show below: -Suggestion The configure.sh also shows missed package to build configure as show below: -Review comment Please change configured to configure.

# 3. line 17 -Original Please refer gRPC pre-requisites. -Suggestion Please refer gRPC prerequisites. -Review comment Please change pre-requisites to prerequisites.

# 4. line 27 -Original But it does not show necessary of cmake. -Suggestion But it does not show necessity of cmake. -Review comment Please necessary to necessity.

[Porting_Guide.md] # 1. line 1 -Original

Policy & Caution
Kernel & System
File System
Network
Audio
Confirmation of Porting

-Suggestion

-Review comment I recommend using Unordered Lists rather than BlockQuote for the list of contents. Please refer to style guide. https://github.com/Samsung/tizen-docs/blob/master/styleguide/template-guide.md

# 2. line 12 -Original

  1. Driver Implementation Recommendation
    Instead of hooking the default driver interface code (which is a part of SoC package) to the platform,
    it is advisable to include the drivers according the TizenRT platform driver model.

  2. New Application Inclusion
    It is a good practice to add the Kconfig entry. All application configurations and dependencies should be included properly.

  3. Use driver, framework and system call APIs
    Don't call architecture codes from application directly. When protected build enables, it will be blocked.
    Application must call TizenRT driver interface to talk to underlying driver.

  4. Maintain TizenRT Code Structure
    It is not advised if addition of peripherals, new interfaces, new open source code etc are done by aligning to default board package structure.
    Understanding the TizenRT code structure and adhering to the structure helps in better architecture design and portability.

-Suggestion

-Review comment Since this is not sequential content, there is no need for ordered lists. I recommend using Unordered Lists rather than Ordered List.

[TroubleShooting.md] # 1. line 4 -Original

Common
Board-Specific

-Suggestion

-Review comment I recommend using Unordered Lists rather than BlockQuote for the list of contents. Please refer to style guide. https://github.com/Samsung/tizen-docs/blob/master/styleguide/template-guide.md

# 2. line 26 -Original To resolve:
Modify kconfig-frontends-4.11.0.1/libs/parser/hconf.c like below -Suggestion To resolve:
Modify kconfig-frontends-4.11.0.1/libs/parser/hconf.c like below. -Review comment Please put a period at the end of the sentence.

[manage-certificate.md] # 1. line 4 -Original

Creating a Certificate
Importing a Certificate
Activating a Certificate

-Suggestion

-Review comment I recommend using Unordered Lists rather than BlockQuote for the list of contents. Please refer to style guide. https://github.com/Samsung/tizen-docs/blob/master/styleguide/template-guide.md

# 2. line 1 -Original

Managing SmartThings™ Certificates

Contents

Creating a Certificate
Importing a Certificate
Activating a Certificate

SmartThings™ uses OpenSSL for security. To ensure that only trusted developers and manufactures can develop devices that communicate with the SmartThings Cloud, you must get certificates for devices to use the SmartThings™ service.

In the Tizen RT IDE, you can perform various certificate-related tasks, such as creation, removal, import, and activation, by using the SmartThings Certificate Manager.

SmartThings Certificate Manager

The Certificate Manager is launched automatically if no certificate is set as active when you try to flash a project. To launch the Certificate Manager manually, go to Tools > ST Certificate Manager in the Tizen Studio for RT menu.

-Suggestion

Managing SmartThings™ Certificates

SmartThings™ uses OpenSSL for security. To ensure that only trusted developers and manufactures can develop devices that communicate with the SmartThings Cloud, you must get certificates for devices to use the SmartThings™ service.

Contents

Using a Certificate Manager

In the TizenRT IDE, you can perform various certificate-related tasks, such as creation, removal, import, and activation, by using the SmartThings Certificate Manager.

SmartThings Certificate Manager

The Certificate Manager is launched automatically if no certificate is set as active when you try to flash a project. To launch the Certificate Manager manually, go to Tools > ST Certificate Manager in the Tizen Studio for RT menu.

-Review comment I recommend changing to a layout like Suggetion.

# 3. line 14 -Original To launch the Certificate Manager manually, go to Tools > ST Certificate Manager in the Tizen Studio for RT menu. -Suggestion To launch the Certificate Manager manually, select Tools > ST Certificate Manager in the Tizen Studio for RT menu. -Review comment I recommend changing it like Suggestion.

dr-venkman commented 4 years ago

@ck11a Thank you for your comments, we have addressed most of them in pull request #4028 . Do let us know if you have further comments.

sunghan-chang commented 4 years ago

@ck11a We merged your comments. When you have any update, please open the issue or create the PR. Thank you for supporting.