Skip to content

Commit

Permalink
Update FBS description
Browse files Browse the repository at this point in the history
  • Loading branch information
alinyo98 committed Mar 11, 2024
1 parent 8f85926 commit 1737df9
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 20 deletions.
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ The **.pyd** format release is for Windows shared library and **.so** format rel
#### Hardware

* TLKCore is running on Windows/Linux PC, to communicate with standard products developed by TMYTEK via Ethernet/ComPort/USB cable.
* FBS part is optional solution to control BBox 5G series as fast beam steering.
* (Optional) FBS part is optional solution to control BBox 5G series as fast beam steering.
![block](/images/TLKCore_block.png)

#### Software
Expand All @@ -22,6 +22,7 @@ The **.pyd** format release is for Windows shared library and **.so** format rel
* TMYCommService is maintaining physical communications for all devices, it usually not handled directly by developer.
* TMYUtils defines all data structure for return data, let developer more easier to know current status of processed function.
* **TMYPublic** is a open source code, it defines all data structure which developer might used, e.g. RFMode(TX/RX), RetCode(OK/ERROR/...), UDState...etc.
* (Optional) **TMYBeamConfig** is option solution for FBS (fast beam steering), it aims to parse assigned csv file to a dict structure and check beam configuration, please reference [FBS](/examples//Python/README.md#FBS)
* All files/function under tmydev/ are all operating logic of standard products
* db/ used for WEB-TLK, developer could ignore it.

Expand Down
19 changes: 1 addition & 18 deletions examples/C_Cpp/examples/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,24 +10,7 @@
* **device.conf**, it mentions the device infomations for Beamform & UD.
* *Beamform devices* with SN as key then includes AAKIT name and the path to beam configruation.
* *UD devices* only includes SN as key then includes STATE with json format.
* [FBS] **Beam configuration file**, i.g. CustomBatchBeams_D2230E058-28.csv. You can edit/pre-config it via Office-like software or any text editor, no matter what it is config to one of below options:
* A whole beam (BeamType=0)
* beam_db: gain with float type, please DO NOT exceed the DR (dynamic range).
* beam_theta with integer degree
* beam_phi with integer degree
* Custom beam (BeamType=1), suggest use TMXLAB Kit first to makes sure your settings.
* ch: Assigned channel to config
* ch_sw: 0 means channel is ON, 1 is OFF.
* ch_db: gain with float type.
* ch_deg: phase degree with int type.
* Note: lost fields always follow the rule of default beam/channel config
* **Must assign TX/RX, BeamID and BeamType**
* Default takes channel config (not a beam)
* Default enabled
* Default gives a max value of gain DR
* Default gives degree 0 including theta,phi
* ex: TX beam1 will be MAX of DR with degree (0, 0), and TX beam8 just modify ch 9~12 to 1dB
![CustomBatchBeams](/images/CustomBatchBeams.png)
* [FBS] **Beam configuration file**, i.g. [CustomBatchBeams_D2230E058-28.csv](config/CustomBatchBeams_D2252E058-28.csv), please reference [FBS topic](/examples/Python/README.md#FBS) in Python example.

* There are some linked files, please build lib_tlkcore_cpp/ and lib_usrp_spi/ if necessary.
* **libtlkcore_lib.so** -> ../lib_tlkcore_cpp/libtlkcore_lib.so
Expand Down
32 changes: 31 additions & 1 deletion examples/Python/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,9 @@ if testFBS:
batch_import = False

if batch_import:
batch = TMYBeamConfig(sn, service)
# Please reference #FBS topic
beam_config_file = "CustomBatchBeams.csv"
batch = TMYBeamConfig(sn, service, beam_config_file)
batch.applyBeams():
else:
# Skip it
Expand Down Expand Up @@ -145,6 +147,34 @@ service.setUDFreq(sn, LO, RF, IF, BW)

python3 main.py

## FBS

This topic introduces TLKCore how to process FBS (Fast Beam Steering), it loads a readable beam configuration file, then generates a internal data structure, and converts to SPI signals to BBoxOne/Lite.

* TMYBeamConfig
* It comes from *tlkcore.TMYBeamConfig.py* in the downloaded library package with source code.

* Beam configuration file, i.g. [CustomBatchBeams_D2230E058-28.csv](/examples/C_Cpp/examples/config/CustomBatchBeams_D2252E058-28.csv). You can edit/pre-config it via Office-like software or any text editor, **PLEASE RENAME** it for real environment, and passing parameter to TMYBeamConfig()
* Basic beam type, there are two basic types, usually we define to CHANNEL CONFIG as default.
* A whole **BEAM config (BeamType=0)**
* beam_db: gain with float type, please DO NOT EXCEED the DR (dynamic range).
* beam_theta with integer degree
* beam_phi with integer degree
* **CHANNEL/Custom beam config(BeamType=1)**, suggest use TMXLAB Kit first to makes sure your settings.
* ch: Assigned channel to config
* ch_sw: 0 means channel is ON, 1 is OFF.
* ch_db: gain with float type.
* ch_deg: phase degree with int type.
* Edit rule: lost fields always follow the rule of default beam/channel config
* **Must assign TX/RX and BeamID**
* Default takes **channel config** (not a beam)
* Default **enabled** if not mentioned.
* Default gives a **MAX value of gain DR** if BEAM config not mentioned.
* Default gives a **MAX value of gain common+element DR** if CHANNEL config not mentioned.
* Default gives **degree 0** for theta, phi ... etc
* Example: TX beam1 will be MAX of DR with degree(0, 0), and TX beam8 just modify ch 9~12 to 1dB
![CustomBatchBeams](/images/CustomBatchBeams.png)

## Extra usage

1. I have my own project to import TLKCore, so I can not import TLKCore libraries under the current directory, how to import TLKCore libraries?
Expand Down

0 comments on commit 1737df9

Please sign in to comment.