You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
De acordo com #17 e #18 estes ciclos são muito usados ao longo do pla e podem ser extraidos Para deixar o código mais limpo.
Também estive a pensar em usar algo como o que fizemos para LPOO relativo aos estados do PLA:
Ter só uma máquina de estados que será usada por todas as funções do pla (llopen()llwrite()llread()llclose()) -> Que é como temos agora, já que estamos a usar o mesmo enum para ambas as máquina de estados.
Ao processar um byte mandar uma struct como argumento com o byte e mais variaveis de info (Byte de Controlo esperado, Byte de Adress esperado),
Código repetido de state machine
Objetivo : Ter só uma máquina de estados personalizável que processe todo o tipo de tramas
Para ficar bem organizado seria criado um ficheiro só para conteúdo relativo á maquina de estados : state_machine.c
No inicio de cada função da pla dar setup á máquina de estados modificando a struct.
Ter uma struct global do estado da máquina de estados com
Control Byte Esperado
Address Byte Esperado
Enum com type de máquina de estados (Supervision, Read, Write)
No inicio de cada função do pla ficaria algo do gênero:
Possível que dê merdinha ao passar o pointer pointer da buffer da máquina de estados do read. Mas deve se arranjar solução
Código repetido dos ciclos de leitura
Objetivo : Ter duas funções, cada uma representa um dos issues (#17 e #18) para serem usadas nas funções do pla.
Daqui é possível criar duas funções, uma para cada issue e passar todos os argumentos necessários, se possivel dentro de uma struct se os argumentos forem comuns para simplificar.
The text was updated successfully, but these errors were encountered:
Esboços de Ideia
De acordo com #17 e #18 estes ciclos são muito usados ao longo do pla e podem ser extraidos Para deixar o código mais limpo.
Também estive a pensar em usar algo como o que fizemos para LPOO relativo aos estados do PLA:
llopen()
llwrite()
llread()
llclose()
) -> Que é como temos agora, já que estamos a usar o mesmo enum para ambas as máquina de estados.Ao processar um byte mandar uma struct como argumento com o byte e mais variaveis de info (Byte de Controlo esperado, Byte de Adress esperado),Código repetido de state machine
Objetivo : Ter só uma máquina de estados personalizável que processe todo o tipo de tramas
Para ficar bem organizado seria criado um ficheiro só para conteúdo relativo á maquina de estados :
state_machine.c
No inicio de cada função da pla dar setup á máquina de estados modificando a struct.
Ter uma struct global do estado da máquina de estados com
No inicio de cada função do pla ficaria algo do gênero:
e chama-se dentro dos ciclos de leitura a máquina com:
Na função de state machine teremos as variaveis estáticas (que poderão ser globais) e um switch:
Cada Case apontará para um função que terá dentro um
switch
ouif..else
para cadastate_machine.mode
:Possível que dê merdinha ao passar o pointer pointer da buffer da máquina de estados do read. Mas deve se arranjar solução
Código repetido dos ciclos de leitura
Objetivo : Ter duas funções, cada uma representa um dos issues (#17 e #18) para serem usadas nas funções do pla.
Daqui é possível criar duas funções, uma para cada issue e passar todos os argumentos necessários, se possivel dentro de uma struct se os argumentos forem comuns para simplificar.
The text was updated successfully, but these errors were encountered: