Skip to content

Template application should be simple(r) #188

@WillBellido

Description

@WillBellido

Hi,

the template application hides SDS simplicity and creates confusion for the first time user. My observations:

1. #ifdef SDS_PLAY duplication is confusing and overwhelming:

  • Combine sds_play_buf_data_in and sds_rec_buf_data_in. Both are used for the exact same purpose: to hold the input data for the algorithm.
  • Similar with playIdDataInput and recIdDataInput. Both serve the same purpose, handle for input data to the algorithm.
  • printf statements under #ifdef SDS_PLAY just bloat the overview. Examples are printf statements on:
    • Stream open success
    • Stream open failure
    • Stream close success
    • Stream close failure

2. Variable playTimestamp creates a hidden cross-file dependency via global variable

3. Don't prefix everything with SDS

  • Names like

    • sds_algorithm_config.h
    • sds_algorithm_user.h
      trigger questions: What is an SDS algorithm? How do I need to configure SDS algorithm? Just use user_algorithm.c
  • Define SDS_ALGO_DATA_IN_BLOCK_SIZE configures block size for the AI/ML model not for SDS algorithm (misleading).

  • What about "Configure the input data block size (SDS_ALGO_DATA_IN_BLOCK_SIZE) for the algorithm under test and remove this line."
    instead of "Configure algorithm under test input data block size (SDS_ALGO_DATA_IN_BLOCK_SIZE) for your algorithm and remove this line!"

  • Similar for sds_data_in_*.c, they serve to feed the AI/ML model not SDS.

4. Don't use to many files

  • Why is app_main empty? Why do I need to search for the sdsControlThread? (breaks the flow)
  • Why is OpenStreams/CloseStreams not in sds_control.c? (breaks the flow)

Metadata

Metadata

Labels

enhancementNew feature or request

Projects

Status

Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions