Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions docs/environment_setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ It will use a “Blinky” (blinking LED) example which requires no other hardwa

Before we start, make sure your machine meets all the requirements below.

!!! tips "Required software"
!!! tip "Required software"
=== "Windows"
- **Git:** If you do not have git installed, get it here [git for Windows](https://gitforwindows.org)
- **Python3:** If you do not have python3 installed, get it here [Python3 Installers](https://www.python.org/downloads/windows)
Expand Down Expand Up @@ -109,7 +109,7 @@ to open PlatformIO in the Primary Side Bar. It should contain:

### Step 5 - Clone our Core repository

In PlatformIO's “Quick Access” view, select the “Miscelleanous / Clone Git Project” action.
In PlatformIO's “Quick Access” view, select the “Miscellaneous / Clone Git Project” action.
This will open a field in which you should enter the following Git repository address:

```
Expand Down Expand Up @@ -238,7 +238,7 @@ Check the list below of possible issues
- **Python3:** If you do not have python3 installed, get it here [Python3 Installers](https://www.python.org/downloads/windows)
- **CMake:** If you do not have CMake installed, get it here [CMake Installer](https://cmake.org/download/)
- Make sure that you have **administrator privileges** on the folder where you clone your repository.
- Check that you are working on a **path that is not liked to OneDrive**
- Check that you are working on a **path that is not linked to OneDrive**
- Check that you **do not have any spaces in the path** of your project
- Check that the **length of your project** path is smaller than 256 characters.
- You should preferably have your project folder as close as possible to the root
Expand Down
14 changes: 7 additions & 7 deletions docs/first_example.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ In this section we will show you how to use our example interface.

## Requirements

Before you start, please make sure you fullfil the requirements below.
Before you start, please make sure you fulfill the requirements below.

!!! note "Requirements"
- Have your [VSCode Environment](environment_setup.md#setup-your-work-environment) already setup
Expand Down Expand Up @@ -53,7 +53,7 @@ Here are the steps to use it.

There are multiple folders on the **USB tasks**.

- From **General to Msciellaneous** are tasks by default that we don not use
- From **General to Miscellaneous** are tasks by default that we do not use
- OwnTech: are tasks that can be used for more advanced users.
- Examples TWIST: are the examples dedicated to the TWIST board which we will see later.
- **Examples SPIN:** groups all the examples related to the SPIN board.
Expand All @@ -74,7 +74,7 @@ Here are the steps to use it.
- Setting PWM phase shift: An example for shifting two PWM signals
- DAC signal: An example for generating an analog signal from digital data
- Software triggered ADC: An example to activate
- HRTIM triggered ADC: An example to active an ADC measuremente using a hardware trigger
- HRTIM triggered ADC: An example to activate an ADC measurement using a hardware trigger
- Incremental encoder: An example on how to interface an incremental encoder to the SPIN board


Expand Down Expand Up @@ -129,7 +129,7 @@ If the build is successful, connect your SPIN board and click on the flash icon.

Once the upload is completed, the LED will stop blinking.

You can connect to the serial port by cliking on its icon. (1)
You can connect to the serial port by clicking on its icon. (1)
{.annotate}

1. The serial icon looks like this: ![serial icon](images/icon-serial.png)
Expand All @@ -141,9 +141,9 @@ If the build is successful, connect your SPIN board and click on the flash icon.

If you click on the terminal and push the `d` key on your keyboard, the value will go `DOWN` and decrease to `0.250000`.

If you push the `u` key on your key board, the value will go `UP` and increase back to `0.300000`.
If you push the `u` key on your keyboard, the value will go `UP` and increase back to `0.300000`.

Congratulations! you have uploaded your fist example. Do not hesitate to explore more examples either via our interface or our [repository](https://github.com/owntech-foundation/examples).
Congratulations! you have uploaded your first example. Do not hesitate to explore more examples either via our interface or our [repository](https://github.com/owntech-foundation/examples).

??? success "List of contributors"
Here is a short list of contributors to this page:
Expand All @@ -164,4 +164,4 @@ Congratulations! you have uploaded your fist example. Do not hesitate to explore
*[ADC]: Analog-to-Digital Converter
*[DAC]: Digital-to-Analog Converter
*[PWM]: Pulse Width Modulation
*[HRTIM]: High-Resolution Timer
*[HRTIM]: High-Resolution Timer
2 changes: 1 addition & 1 deletion docs/powerAPI.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,4 +76,4 @@

[:octicons-arrow-right-24: Analog communication API](https://owntech-foundation.github.io/Documentation/powerAPI/classAnalogCommunication/)

</div>
</div>
6 changes: 3 additions & 3 deletions docs/shield_introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ To work with Shield API, include the following file in your code:
![TWIST schema](images/TWIST_illustration.svg){ width=200 align=left }
- **Versatile Control Modes**: The API supports both voltage and peak current control modes, allowing you to choose the best option for your specific application.
- **Independent Leg Operation**: Each of the two legs can operate independently with different topologies, such as boost or buck, offering greater flexibility in power management.
- **Configure different paramaters** for power electronics (dead time, phase shift)
- **Configure different parameters** for power electronics (dead time, phase shift)
- **Simplified ADC value retrieval**
- Refer to [TWIST hardware specifications](https://github.com/owntech-foundation/TWIST) for more detail on TWIST board.

Expand Down Expand Up @@ -58,7 +58,7 @@ To work with Shield API, include the following file in your code:
4\. Set the phase shift in degree [`shield.power.setPhaseShift(ALL, ps_degree)`](https://owntech-foundation.github.io/Documentation/1.0.0/powerAPI/classPowerAPI/#function-setphaseshift)
</details>

5\. Enable the ADC acquisition for twist to get voltage and current measures [`shield.sensors.enableDefaultTwistSensors()`]#function-enabledefaulttwistsensors)
5\. Enable the ADC acquisition for twist to get voltage and current measures [`shield.sensors.enableDefaultTwistSensors()`](#function-enabledefaulttwistsensors)
6\. Set the slope compensation to control the output current[`shield.power.setSlopeCompensation(ALL, 1.4, 1.0)`](https://owntech-foundation.github.io/Documentation/1.0.0/powerAPI/classPowerAPI/#function-setslopecompensation)
7\. Then start the converters [`shield.power.start(ALL)`](https://owntech-foundation.github.io/Documentation/1.0.0/powerAPI/classPowerAPI/#function-start)

Expand Down Expand Up @@ -165,7 +165,7 @@ On the TWIST board, a voltage value of 1.024V on the ADC corresponds to a curren
shield.power.start(ALL);
```

#### 2 independant leg operations
#### 2 independent leg operations


=== " Connection "
Expand Down
4 changes: 2 additions & 2 deletions docs/spin_dac.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@ Generate a 1.024V signal.
![dac value](images/dac_value.svg)

!!! example
For a pratical example of the DAC see the example :
For a practical example of the DAC see the example :
- [Signal generation](https://owntech-foundation.github.io/Documentation/examples/SPIN/DAC/signal_generation/)

## API Reference

::: doxy.powerAPI.class
name: DacHAL
name: DacHAL
16 changes: 8 additions & 8 deletions docs/spin_dataAPI.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,10 @@ At the end of all the hardware configuration (including other modules), the Data

After the Data API has been started, it becomes possible to get data obtained from the enabled pins. Depending on the trigger source (see [detailed section below](#triggering-the-acquisition)), you'll have to trigger the acquisition then read the value, or directly read the value.

If software-trigged is used for an ADC (default configuration), the acquisition must first be triggered, then the value read. If the acquisition is configured to be periodic for ann ADC, directly read the value.
If software-triggered is used for an ADC (default configuration), the acquisition must first be triggered, then the value read. If the acquisition is configured to be periodic for an ADC, directly read the value.

!!! note
=== "Sofware-triggered acquisition"
=== "Software-triggered acquisition"
```
spin.data.triggerAcquisition(ADC_2); // Trigger acquisitions of all pins linked to ADC 2
spin.data.getLatestValue(35); // Get value read on pin 35
Expand Down Expand Up @@ -131,7 +131,7 @@ These function act similarly, except for the conversion part: they are called wi
Each ADC unit can measure multiple analog signal. This works by defining an acquisition sequence.

!!! tip
By default the aquisition sequence is in continuous mode. It means than one trigger will trigger all the sequence of acquisition.
By default the acquisition sequence is in continuous mode. It means that one trigger will start the entire acquisition sequence.
This can be changed using [Discontinuous Mode](#continuous-discontinuous-sequence)

!!! example
Expand Down Expand Up @@ -188,7 +188,7 @@ The data acquisition can be triggered by two sources:

```C++
spin.data.configureTriggerSource(ADC_2, TRIG_SOFTWARE); // ADC 2 configured in software mode
sing.data.triggerAcquisition(ADC_2); // Send an adc trigger to ADC2 to start conversion
spin.data.triggerAcquisition(ADC_2); // Send an ADC trigger to ADC2 to start conversion
adc_value = data.getLatest(35); // Get the acquired data
```

Expand All @@ -206,7 +206,7 @@ Sometimes measurement have to be taken at a specific time, in interaction with t
This kind of acquisition have a side benefit. It operates in the background and does not interfer with software.
It means that periodical sampling will not interrupt code execution.

The trigger is the PWM peripheral, the ADC performs the conversion and place the result in an output buffer, the output buffer is directly placed in memory by a DMA. A rather complex software mechanics execute periodically and serve each measurement in a dedicated memory space. The periodical routine is executed at the beggining of the controlTask.
The trigger is the PWM peripheral: the ADC performs the conversion and places the result in an output buffer, which is directly stored in memory by a DMA. A rather complex software mechanism executes periodically and serves each measurement in a dedicated memory space. The periodical routine is executed at the beginning of the controlTask.

!!! info
Synchronous measurement require having a controlTask running.
Expand Down Expand Up @@ -342,7 +342,7 @@ Trigger timing can be defined or changed dynamically.
spin.pwm.setAdcTriggerPostScaler(PWMA, 4);
```

=== "Without interuptions"
=== "Without interruptions"
![left_aligned_continuous_sampling](images/left_aligned_continuous_sampling.svg){ width=800 }

```c++
Expand All @@ -361,7 +361,7 @@ When using the control task (critical task) data are dispatched at the start, wh

![data dispatch](images/data_dispatch.svg)

Data dispatching is an internal mechanism of Data API, that transfers Data from the internal buffers controlled by the DMA to user-level buffers that can be retreived by the ``get***()`` functions. If dispatching is not done, the user will not be able to retrive values, and the ``get***()`` functions will return no value.
Data dispatching is an internal mechanism of Data API that transfers data from the internal buffers controlled by the DMA to user-level buffers that can be retrieved by the ``get***()`` functions. If dispatching is not done, the user will not be able to retrieve values, and the ``get***()`` functions will return no value.

The dispatch is done automatically and the in most cases, the user does not have to worry about it. However, in some cases, the user may want to know when this is done.

Expand Down Expand Up @@ -389,7 +389,7 @@ If you want specific ADC behavior (trigger sources, discontinuous mode, etc.), y

After channels have been enabled, the conversion parameters can be set so that raw values can be automatically converted to the relevant unit. This is done using the `spin.data.setParameters()` function.

After channels have been enabled (and optionnally conversion parameters have been set), there are two ways of starting the API, depending on your use of other OwnTech APIs. If your code uses an [uninterruptible task](task_introduction.md), nothing more is required, the Data API will be started automatically when task is started. However, if you do not have an uninterruptible task in your code, you need to manually start the API by calling `spin.data.start()`.
After channels have been enabled (and optionally conversion parameters have been set), there are two ways of starting the API, depending on your use of other OwnTech APIs. If your code uses an [uninterruptible task](task_introduction.md), nothing more is required; the Data API will be started automatically when the task is started. However, if you do not have an uninterruptible task in your code, you need to manually start the API by calling `spin.data.start()`.

!!! Note

Expand Down
2 changes: 1 addition & 1 deletion docs/spin_gpio.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,4 @@
## API Reference

::: doxy.powerAPI.class
name: GpioHAL
name: GpioHAL
Loading