Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2025:cmoarcas:alexandru.ariton04 [2025/05/20 19:30]
alexandru.ariton04 [Software Design]
pm:prj2025:cmoarcas:alexandru.ariton04 [2025/05/28 19:05] (current)
alexandru.ariton04 [Software Design]
Line 53: Line 53:
   * rezultatele simulării   * rezultatele simulării
 </​note>​ </​note>​
 +
  
 ===== Software Design ===== ===== Software Design =====
  
  
-<note tip>+
 Descrierea codului aplicaţiei (firmware): Descrierea codului aplicaţiei (firmware):
   * Mediu de dezvoltare: *vim* (i'm serious).   * Mediu de dezvoltare: *vim* (i'm serious).
Line 66: Line 67:
   * Am implementat un protocol de comunicatie care arata asa:   * Am implementat un protocol de comunicatie care arata asa:
  
-```+ 
 + 
 #define MOVE_SHIP '​m'​ #define MOVE_SHIP '​m'​
 +
 #define ADD_SHIP '​a'​ #define ADD_SHIP '​a'​
 +
 #define PASTE_SHIP '​p'​ #define PASTE_SHIP '​p'​
 +
 #define ADD_BOMB '​b'​ #define ADD_BOMB '​b'​
 +
 #define MOVE_BOMB '​B'​ #define MOVE_BOMB '​B'​
 +
 #define PASTE_BOMB '​P'​ #define PASTE_BOMB '​P'​
-```+ 
  
 protocolul de comunicatii arata asa: "​header|int|int|int"​. ​ protocolul de comunicatii arata asa: "​header|int|int|int"​. ​
Line 83: Line 92:
   * Functii implementate:​   * Functii implementate:​
  
-``` + 
-void IRAM_ATTR onMoveYPlayer1() {+ 
 +    ​void IRAM_ATTR onMoveYPlayer1() {
  if (!validate()) {  if (!validate()) {
  return;  return;
Line 102: Line 112:
  do_received_command(msg);​  do_received_command(msg);​
  }  }
-+    ​
-```+
  
 Asa arata o functie de intrerupere^,​ de exemplu cea ce misca nava / bomba pe pozitia Y. Asa arata o functie de intrerupere^,​ de exemplu cea ce misca nava / bomba pe pozitia Y.
 Si sursa si destinatarul vor executa comanda. Si sursa si destinatarul vor executa comanda.
  
-``` + 
-void OnDataRecv(const uint8_t *mac, const uint8_t *incomingData,​ int len) + 
-{+   void OnDataRecv(const uint8_t *mac, const uint8_t *incomingData,​ int len) 
 +        {
  Serial.print("​Received from: ");  Serial.print("​Received from: ");
  for (int i = 0; i < 6; i++) {  for (int i = 0; i < 6; i++) {
Line 122: Line 133:
  Serial.print(len);​  Serial.print(len);​
  Serial.print("​Finished len");  Serial.print("​Finished len");
- 
  char* incoming_data_str = (char*)calloc(len + 1, sizeof(char));​  char* incoming_data_str = (char*)calloc(len + 1, sizeof(char));​
- 
  strncpy(incoming_data_str,​ (char*)incomingData,​ len);  strncpy(incoming_data_str,​ (char*)incomingData,​ len);
  int r = do_received_command(incoming_data_str);​  int r = do_received_command(incoming_data_str);​
  Serial.println(incoming_data_str);​  Serial.println(incoming_data_str);​
  free(incoming_data_str);​  free(incoming_data_str);​
-+   
-```+
  
 Asa arata functia (intreruperea) care handle-uieste primirea comenzii. Asa arata functia (intreruperea) care handle-uieste primirea comenzii.
Line 137: Line 146:
 Am doua arrayuri de date globale: ships[SHIPS_NR] si bombs[BOMB_NR]. Am un pending_ship si un pending_bomb,​ precum si doua variabile: mode - SHIPS/BOMBS si modulus, care este ID-ul fiecarui controller Am doua arrayuri de date globale: ships[SHIPS_NR] si bombs[BOMB_NR]. Am un pending_ship si un pending_bomb,​ precum si doua variabile: mode - SHIPS/BOMBS si modulus, care este ID-ul fiecarui controller
  
-</note>+* Flow: 
 + 
 +Este mereu randul playerului cu nava albastra. 
 +Primul buton din dreapta muta pe x, al doilea muta pe y, al treilea schimba orientarea navei si da toggle intre x negativ si pozitiv 
 +Ultimul buton pune nava/bomba definitiv pe tabla. 
 + 
 + 
 + 
 + 
 +== Github == 
 + 
 +* https://​github.com/​Barosandu/​pmpriject 
 + 
 +== Video == 
  
 +* https://​youtube.com/​shorts/​LX7CNFMTghA?​si=4i6bsephvSB5epEF
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
pm/prj2025/cmoarcas/alexandru.ariton04.1747758612.txt.gz · Last modified: 2025/05/20 19:30 by alexandru.ariton04
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0