cancel
Showing results for 
Search instead for 
Did you mean: 

AzureRTOS for STM32H753ZI poor code quality

Osto
Senior

Hi,

I tried to make a Azure RTOS ThreadX project but i saw very poor code quality which makes me unsure if I made the right decision.

In the file tx_api.h there are alot of for example following declaration:

#define tx_thread_create(t,n,e,i,s,l,p,r,c,a)    _txe_thread_create((t),(n),(e),(i),(s),(l),(p),(r),(c),(a),(sizeof(TX_THREAD)))

Whats that for code???? All variables with one letter!!!???

my 10 years old son makes better code. Why does ST bother us with such code quality?

Dear ST: You steal our time with such stupid code.

Osto

6 REPLIES 6
BParh.1
Senior III

Hi @Osto​ , while I admire your enthusiasm for code quality, but not your disrespectful comment.

> #define tx_thread_create(t,n,e,i,s,l,p,r,c,a)    _txe_thread_create((t),(n),(e),(i),(s),(l),(p),(r),(c),(a),(sizeof(TX_THREAD)))

Well this is just a macro definition which serve as function wrapper - NOT the real function definition. Usually one prefer to have short sweet name in this case.

While one might argue to have better argument name and therefore longer macro definition, but this is definitely not a stupid code.

Dear BPrah,

Start a project and try to call this function and see which information you get when writing the code. You need for sure to look at the manual to be able to place the right variables in the correct position. This is also not the only function like this.

The code has the level less than 10 years old boy and not worthy for professional work. giving such code to the customer show that the responsible persons dont resprect their customer. I saw that this file is made by Microsoft but ST is responsible for that. Either there is no quality control at ST or the quality controls is without any function else such thing would never happened. ST have to do its job.

I'm still the same opinion as in my first post.

BParh.1
Senior III

Hi @Osto​ 

The original developer for Azure RTOS was Express Logic which was acquired by Microsoft. Express Logic is respectable RTOS developer player, I know personally it was used for enterprise level product and it worked fine ( I am not affiliated with them).

To say it is stupid code and worse than 10 years old code just mean one thing, that you are really that smart, for that I could probably understand better your derogatory language.

Anyway, please be free to chose other alternatives, my point is, there is no need to vent your disagreement this way to ST. This is not healthy in this community forum.

I understand your concern. Let say so: The quality of tx_api.h is very low and ST have to correct that to have a professional touch. Right now isn't it. I cant correct it myself because after every generation it will change back to same.

I hope ST staff read that and change it.

Haithem Rahmani
ST Employee

Hi @Osto​ 

The tx_api.h is the official API of the threadX, We ,STMicroelectronics, don't have any right to change it. I suggest however to have a look at the official documentation of AzureRTOS where all these APIs are explainted.

regards

Haithem.

But you claim to Microsoft that the quality is very low and you had problems with customers. Sys them from me: I can read everything but the question is if the supplier have the right to waste the time of their customers. The fucntion declaration: void tx_thread_create(a,b,c,d,e,f,g,h,i) was **** 10 years ago, is **** now and will stay **** next 10 years. Its the responsibility of the programmer to not produce such things. If he is too lazy to write the correct parameter names, he have to be replaced by a newbie.