**Note**
+
2. The reason to execute command ”from machine import Timer'' is to make the Timer module invisible in current space.
-4. Only execute "from machine import Timer" command in module can the function and variate in Timer be used.
-6. Please do remember above operations have on connection with any peripheral, it just serves as reference to get familiar with commands.
+3. Only execute "from machine import Timer" command in module can the function and variate in Timer be used.
+4. Please do remember above operations have on connection with any peripheral, it just serves as reference to get familiar with commands.
@@ -123,3 +75,52 @@ This is just aimed at timer, as a result, there is no needed peripheral.
+## HW description
+
+Currently, 4 timers are available; as for details, please refer to the link: [HW support](https://python.quectel.com/doc/doc/Quecpython_intro/en/Qp_Product_intro/Hardware_Support.html)
+
+## SW design
+
+SW-related API, please refer to link: [Timer](https://python.quectel.com/wiki/#/en-us/api/QuecPythonClasslib?id=timer)
+
+### Constant illustration
+
+| Constant | Illustration |
+| -------------- | --------------------------------------------------- |
+| Timer.Timer0 | Timer0 |
+| Timer.Timer1 | Timer1 |
+| Timer.Timer2 | Timer2 |
+| Timer.Timer3 | Timer3 |
+| Timer.ONE_SHOT | One shot mode, the timer just executes for one time |
+| Timer.PERIODIC | Periodic mode, the timer executes periodically |
+
+### Create Timer object
+
+timer = Timer(Timer)
+
+The port parameter for creating timer object is shown as next:
+
+| Parameter | Type | Illustration |
+| --------- | ---- | ----------------------------------------------------- |
+| Timer | int | Timer number, the EC600S supports Timer 0 to Timer 3. |
+
+### Start timer
+
+timer.start(period, mode, callback):
+
+Start corresponding timer. Here shows the port parameter.
+
+| Parameter | Type | Illustration |
+| --------- | -------- | ------------------------------------------------------------ |
+| period | int | Interrupt period, the unit is ms. |
+| mode | int | Running mode, as for Timer. ONE_SHOT, the timer just executes one time; while for Timer.PERIODIC, the timer executes periodically. |
+| callback | function | Timer execution function |
+
+Return value: if it is a success to start, it returns the integer 0, otherwise, it returns integer -1.
+
+### Stop timer
+
+timer.stop():Stop corresponding timer without parameter.
+
+Return value: if it is a success to start, it returns the integer 0, otherwise, it returns integer -1.
+
diff --git a/docs/sbs/en/BSP/ADC.md b/docs/sbs/en/BSP/ADC.md
index 9a8193f3363445c394b15c354e0dc6b20523b76d..34be098def7b6d71fd936a177072ee357950f669 100644
--- a/docs/sbs/en/BSP/ADC.md
+++ b/docs/sbs/en/BSP/ADC.md
@@ -10,6 +10,57 @@ In this document, it mainly illustrates based on EC600S_QuecPython_EVB. As for o
In this chapter, it is recommended to integrate with photo-transistor test: [Phototransistor test](https://python.quectel.com/doc/doc/Advanced_development/en/QuecPythonSub/Photoresistor.html)
+## Interaction operation
+
+The interaction with module can be carried out via QPYcom. The following case is based on ADC0.
+
+
+
+**Note**
+
+1. The command line "from misc import ADC" means making the ADC module visible in current space.
+2. Only executing command "from misc import ADC" can the function and variate in ADC be used.
+3. The above operation is conducted under the circumstance of connecting ADC0 to photo-transistor. While as for ADC1, there is a need to connect peripheral to carry out relevant operations.
+
+## Download and verify
+
+### SW codes
+
+Download **.py** file into module and run. Here shows codes:
Click to download code
+
+```python
+from misc import ADC # Import ADC module
+import utime # Import timing module
+read_time = 5 # Set read count
+adc = ADC()
+while read_time:
+ adc.open()
+ read_data = adc.read(ADC.ADC0)
+ print(read_data)
+ adc.close()
+ read_time -= 1
+ utime.sleep(1) # Postpone 1S
+```
+
+### HW connection
+
+Extra HW connection is not necessary. The ADC0 port on EC600S has been connected to photo-transistor externally. In this document, the downloading and verification is realized with the assist of photo-transistor.
+
+(If the ADC on some types of EC600N module is not available, please check the HW support via specific type. The available ADC module can download routine to run directly.)
+
+
+
+### Result
+
+1. Run *adc_file.py* in QPYcom. (At the same time, please make sure the sunlight received by photo-transistor is varied). Please check the following figure:
+
+ 
+
+ 2. Query outputted result in QPYcom interaction surface. (The value varies)
+
+
+
+
## HW Description
Currently, 2 channels of ADC are available on EC600S module, please check the connection location as described below:
@@ -20,8 +71,6 @@ For detailed ADC, please refer to [ADC-related API](https://python.quectel.com/w
As for the HW schematic diagram of ADC, please check the HW design specification and EVB schematic diagram.
-Anything unavailable, you can reach it on QQ group: 445121768.
-

The corresponding relationship is shown as following tablet:
@@ -64,52 +113,3 @@ adc.close(),No parameter
Returned value: If success, it returns integer 0; otherwise, it returns integer -1.
-## Interaction operation
-
-The interaction with module can be carried out via QPYcom. The following case is based on ADC0.
-
-
-
-**Note**
-
-1. The command line "from misc import ADC" means making the ADC module visible in current space.
-3. Only executing command "from misc import ADC" can the function and variate in ADC be used.
-5. The above operation is conducted under the circumstance of connecting ADC0 to photo-transistor. While as for ADC1, there is a need to connect peripheral to carry out relevant operations.
-
-## Download and verify
-
-### SW codes
-
-Download **.py** file into module and run. Here shows codes:
Click to download code
-
-```python
-from misc import ADC # Import ADC module
-import utime # Import timing module
-read_time = 5 # Set read count
-adc = ADC()
-while read_time:
- adc.open()
- read_data = adc.read(ADC.ADC0)
- print(read_data)
- adc.close()
- read_time -= 1
- utime.sleep(1) # Postpone 1S
-```
-
-### HW connection
-
-Extra HW connection is not necessary. The ADC0 port on EC600S has been connected to photo-transistor externally. In this document, the downloading and verification is realized with the assist of photo-transistor.
-
-(If the ADC on some types of EC600N module is not available, please check the HW support via specific type. The available ADC module can download routine to run directly.)
-
-### Result
-
-1. Run *adc_file.py* in QPYcom. (At the same time, please make sure the sunlight received by photo-transistor is varied). Please check the following figure:
-
- 
-
- 2. Query outputted result in QPYcom interaction surface. (The value varies)
-
-
-
-
diff --git a/docs/sbs/en/BSP/I2C.md b/docs/sbs/en/BSP/I2C.md
index b5fc012b6833ecb6242eaae17d45d3dcfe52b241..cd2fe5c7ded59534ad45e980763d6b3f01c0d267 100644
--- a/docs/sbs/en/BSP/I2C.md
+++ b/docs/sbs/en/BSP/I2C.md
@@ -8,13 +8,17 @@
In this document, it mainly illustrates how to use QuecPython I2C module.
-Also, in this document, it tells how to use th QuexPython I2C Library. For more basic knowledge, please refer to the **I2C** on your own via Baidu- A browser like Google.
+### Quick start
-**I2C**, also named **IIC**, is the abbreviation of **Inter-Integrated-Circuit**. As for the Chinese meaning, it is integrated circuit bus.
+2. About specific API of QuecPython I2C, please refer to [I2C.](https://python.quectel.com/wiki/#/en-us/api/QuecPythonClasslib?id=i2c)
+3. About the application test of I2C, please refer to integrated humidity and temperature sensor: [Internal temperature and humidity sensor experiment.](https://python.quectel.com/doc/doc/Advanced_development/en/QuecPythonSub/i2c_aht.html)
+4. About the application test of I2C, it is also valid to refer to [Acceleration sensor experiment.](https://python.quectel.com/doc/doc/Advanced_development/en/QuecPythonSub/i2c_lis2dh.html)
### Brief introduction on I2C.
-Please refer to the [I2C Bus](https://baike.baidu.com/item/I2C%E6%80%BB%E7%BA%BF). No more info will be illustrated here.
+In this document, it tells how to use th QuexPython I2C Library. For more basic knowledge,please search *I2C* yourself.
+
+**I2C**, also named **IIC**, is the abbreviation of **Inter-Integrated-Circuit**. It is integrated circuit bus.
### The base of I2C protocol
E. g. When writing data to Slave by Master, the basic structure is shown as following figure.
@@ -47,8 +51,3 @@ Several methods are covered in common I2C bus
- Write assigned peripheral, starting address and data of certain length
- Trigger some behavior via writing the specific register of assigned peripheral, then wait the peripheral returns data.
-### Quick start
-
-2. About specific API of QuecPython I2C, please refer to [QuecPython-machine - HW-related functions-I2C](https://python.quectel.com/wiki/#/zh-cn/api/QuecPythonClasslib?id=i2c)
-4. About the application test of I2C, please refer to integrated humidity and temperature sensor: [Integrated humidity and temperature sensor test](https://python.quectel.com/doc/doc/Advanced_development/zh/QuecPythonSub/i2c_aht.html)
-6. About the application test of I2C, it is also valid to refer to [Accelerometers Test.](https://python.quectel.com/doc/doc/Advanced_development/zh/QuecPythonSub/i2c_lis2dh.html)
diff --git a/docs/sbs/en/BSP/media/ADC_4.png b/docs/sbs/en/BSP/media/ADC_4.png
new file mode 100644
index 0000000000000000000000000000000000000000..4788f1bb244136fdcdc401967063eb509b90cd02
Binary files /dev/null and b/docs/sbs/en/BSP/media/ADC_4.png differ
diff --git a/docs/sbs/en/BSP/media/Qp_Advanced_development_QuecPythonSub_i2c_bus_03.png b/docs/sbs/en/BSP/media/Qp_Advanced_development_QuecPythonSub_i2c_bus_03.png
deleted file mode 100644
index 66c80f3ab17fe5a58334607a4b4fe9e274d24d33..0000000000000000000000000000000000000000
Binary files a/docs/sbs/en/BSP/media/Qp_Advanced_development_QuecPythonSub_i2c_bus_03.png and /dev/null differ
diff --git a/docs/sbs/en/BSP/media/Qp_Advanced_development_QuecPythonSub_i2c_bus_04.png b/docs/sbs/en/BSP/media/Qp_Advanced_development_QuecPythonSub_i2c_bus_04.png
deleted file mode 100644
index 816e95f9e6a218ac6409a21e5f6a2a0ace0d0c24..0000000000000000000000000000000000000000
Binary files a/docs/sbs/en/BSP/media/Qp_Advanced_development_QuecPythonSub_i2c_bus_04.png and /dev/null differ
diff --git a/docs/sbs/en/BSP/media/media_I2C_01(E).png b/docs/sbs/en/BSP/media/media_I2C_01(E).png
new file mode 100644
index 0000000000000000000000000000000000000000..2a51f605ad3531ad5f32173cf1c1c3fae1bf0312
Binary files /dev/null and b/docs/sbs/en/BSP/media/media_I2C_01(E).png differ
diff --git a/docs/sbs/en/BSP/media/media_I2C_02(E).png b/docs/sbs/en/BSP/media/media_I2C_02(E).png
new file mode 100644
index 0000000000000000000000000000000000000000..12602e10cfe29c54d4ccb91b0d2b33e9bb57b609
Binary files /dev/null and b/docs/sbs/en/BSP/media/media_I2C_02(E).png differ
diff --git a/docs/sbs/en/QuecPythonWirelessNetwork/DataCall.md b/docs/sbs/en/QuecPythonWirelessNetwork/DataCall.md
index 514cacc384c49787060baa0af51bd02f8107f063..2647f6dec94b0fa4c43c60397f138d3eb5ffbfd8 100644
--- a/docs/sbs/en/QuecPythonWirelessNetwork/DataCall.md
+++ b/docs/sbs/en/QuecPythonWirelessNetwork/DataCall.md
@@ -14,60 +14,6 @@ Provide relevant port to datacall, start, configure and query the access mode us
For detailed API, please refer to the [Quecpython - DataCall](https://python.quectel.com/wiki/#/en-us/api/QuecPythonClasslib?id=datacall-data-call)
-## Brief introduction on data call
-
-To be brief, the data call is a process that building connection with server and getting network access permission via call. As for terminal device, it is to configure APN.
-
-### About APN
-
-APN, a network access technology and a parameter should be configured when the terminal gets access to network, decides which method would be used to get access to network from the view of terminal.
-
-In terms of user, there are many peripheral networks can be accessed such as Internet, WAP website, internal network of group and specific network for internal industry. However, different access points are varied in access range and methods. So, in terms of network end, how to learn about which network will be accessed and corresponding IP will be allocated after the terminal is activated? It is the APN that used to differentiate. That is, APN determines which access mode a user terminal uses to access network.
-
-All operators will use specific APN (Access Point Name), which will be reserved in your SIM card beforehand. If necessary, you should adjust it manually.
-
-### Implication of APN
-
-The APN will decide which access mode that a terminal uses to access network so as to identify the service type of GPRS.
-
-Two categories of APN
-
-- *WAP* service
-- Service not included in *WAP*, such as connecting to Internet
-
-From the view of operator, APN just refers to one logic name. In most cases, the APN is arranged on GGSN device or connected to the GNSS in a logic way. When user gets access to network via GPRS, it will agent peripheral network via *GGSN*. Therefore, the parameters related to APN setting, filtering and calculating have become one of the most significant parameters to GPRS billing and expense. (As the APN can be used to differentiate the service or the external network)
-
-The overall illustrations of APN have been defined in the *TS23.003 Clause 9 of 3GPP* specification explicitly.
-
-### APN structure
-
-The name of APN access point is composed by two parts:
-
-- Network identifier
-
-- Operator identifier
-
- Similarly, the operator identifier is also composed by two parts:
-
-- Mobile network code(MNC)
-
-- Mobile country code(MCC)
-
-### APN type
-
-We can divide the APN into four types according to whether it is connected to public network or special network as well as the allocation method of IP address.
-
-- **Public APN**, abbreviated as APN also. The device which is connected to network gate via public APN will get IP address in dynamic in convenience of access to network by the most.
-- **Public APN with static IP address** - The network gate will allocate static IP address to device according to the available IP addresses in public network.
-- **Special APN**- It is commonly considered as "APN with VPN". The device with special APN configuration can get access to its inner network via network gate.
-- **The special APN with static IP address** - The network gate will allocate static IP address to device according to the available IP addresses in special network.
-
-Compared with public APN, there is even no need in network connection for special APN. Moreover, under no circumstance shall the special network allow itself to get access to public network but also keep itself in the basic structure of cellular network to make sure the safe data handling.
-
-### Configure APN
-
-For QuecPython, you can use the default APN in SIM card or configure APN manually. It is also available to configure APN by calling API function.
-
## Quick Start
### Operation procedure
@@ -174,6 +120,60 @@ Result

+## Brief introduction on data call
+
+To be brief, the data call is a process that building connection with server and getting network access permission via call. As for terminal device, it is to configure APN.
+
+### About APN
+
+APN, a network access technology and a parameter should be configured when the terminal gets access to network, decides which method would be used to get access to network from the view of terminal.
+
+In terms of user, there are many peripheral networks can be accessed such as Internet, WAP website, internal network of group and specific network for internal industry. However, different access points are varied in access range and methods. So, in terms of network end, how to learn about which network will be accessed and corresponding IP will be allocated after the terminal is activated? It is the APN that used to differentiate. That is, APN determines which access mode a user terminal uses to access network.
+
+All operators will use specific APN (Access Point Name), which will be reserved in your SIM card beforehand. If necessary, you should adjust it manually.
+
+### Implication of APN
+
+The APN will decide which access mode that a terminal uses to access network so as to identify the service type of GPRS.
+
+Two categories of APN
+
+- *WAP* service
+- Service not included in *WAP*, such as connecting to Internet
+
+From the view of operator, APN just refers to one logic name. In most cases, the APN is arranged on GGSN device or connected to the GNSS in a logic way. When user gets access to network via GPRS, it will agent peripheral network via *GGSN*. Therefore, the parameters related to APN setting, filtering and calculating have become one of the most significant parameters to GPRS billing and expense. (As the APN can be used to differentiate the service or the external network)
+
+The overall illustrations of APN have been defined in the *TS23.003 Clause 9 of 3GPP* specification explicitly.
+
+### APN structure
+
+The name of APN access point is composed by two parts:
+
+- Network identifier
+
+- Operator identifier
+
+ Similarly, the operator identifier is also composed by two parts:
+
+- Mobile network code(MNC)
+
+- Mobile country code(MCC)
+
+### APN type
+
+We can divide the APN into four types according to whether it is connected to public network or special network as well as the allocation method of IP address.
+
+- **Public APN**, abbreviated as APN also. The device which is connected to network gate via public APN will get IP address in dynamic in convenience of access to network by the most.
+- **Public APN with static IP address** - The network gate will allocate static IP address to device according to the available IP addresses in public network.
+- **Special APN**- It is commonly considered as "APN with VPN". The device with special APN configuration can get access to its inner network via network gate.
+- **The special APN with static IP address** - The network gate will allocate static IP address to device according to the available IP addresses in special network.
+
+Compared with public APN, there is even no need in network connection for special APN. Moreover, under no circumstance shall the special network allow itself to get access to public network but also keep itself in the basic structure of cellular network to make sure the safe data handling.
+
+### Configure APN
+
+For QuecPython, you can use the default APN in SIM card or configure APN manually. It is also available to configure APN by calling API function.
+
## Referential materials
[What is Access Point Name (APN)](https://1ot.mobi/resources/blog/iot-hacking-series-3-what-is-access-point-name-apn-and-how-it-works)