esp-idf/components/protocomm/proto
Laukik Hase 5169e22277 protocomm: Generated proto-c and python files for SRP6a scheme
- Added protobuf auto-generated files to pre-commit check
  ignore lists
2022-06-17 13:16:20 +00:00
..
CMakeLists.txt protocomm: Generated proto-c and python files for SRP6a scheme 2022-06-17 13:16:20 +00:00
constants.proto Protocomm : Added component core for protocol communication 2018-10-02 19:07:28 +05:30
makefile Protocomm : Added component core for protocol communication 2018-10-02 19:07:28 +05:30
README.md cmake : Add CMakeLists.txt and update READMEs for re-compilation of proto files 2019-07-05 18:20:15 +05:30
sec0.proto Protocomm : Added component core for protocol communication 2018-10-02 19:07:28 +05:30
sec1.proto Protocomm : Added component core for protocol communication 2018-10-02 19:07:28 +05:30
sec2.proto protocomm: Generated proto-c and python files for SRP6a scheme 2022-06-17 13:16:20 +00:00
session.proto protocomm: Generated proto-c and python files for SRP6a scheme 2022-06-17 13:16:20 +00:00

Protobuf files for implementing protocol communication packets

Protocomm uses Google Protobuf for language, transport and architecture agnostic protocol communication. These proto files define the protocomm packet structure, separated across multiple files:

  • contants.proto - Defines the "Status" structure for conveying the success or failure of a single protocomm transaction
  • sec0.proto - Defines the Security0 Command and Response packet structures
  • sec1.proto - Defines the Security1 Command and Response packet structures
  • session.proto - Defines the protocomm transacion packets for session establishment which internally has a Security packet as payload

Note : These proto files are not automatically compiled during the build process.

Compilation

Compilation requires protoc (Protobuf Compiler) and protoc-c (Protobuf C Compiler) installed. Since the generated files are to remain the same, as long as the proto files are not modified, therefore the generated files are already available under components/protocomm/proto-c and components/protocomm/python directories, and thus running cmake / make (and installing the Protobuf compilers) is optional.

If using cmake follow the below steps. If using make, jump to Step 2 directly.

Step 1 (Only for cmake)

When using cmake, first create a build directory and call cmake from inside:

mkdir build
cd build
cmake ..

Step 2

Simply run make to generate the respective C and Python files. The newly created files will overwrite those under components/protocomm/proto-c and components/protocomm/python