parent
							
								
									0ed3fd91f7
								
							
						
					
					
						commit
						13c74ea6e6
					
				| @ -1,6 +1,6 @@ | ||||
| CFILES=../utils.c ../../TinyFrame.c
 | ||||
| INCLDIRS=-I. -I.. -I../..
 | ||||
| CFLAGS=-O0 -ggdb --std=gnu99 -Wno-main -Wall -Wno-unused -Wextra $(CFILES) $(INCLDIRS)
 | ||||
| CFLAGS=-O0 -ggdb --std=gnu99 -Wno-main -Wall -Wextra $(CFILES) $(INCLDIRS)
 | ||||
| 
 | ||||
| 
 | ||||
| build: test.bin | ||||
| @ -0,0 +1,12 @@ | ||||
| CFILES=../utils.c ../../TinyFrame.c
 | ||||
| INCLDIRS=-I. -I.. -I../..
 | ||||
| CFLAGS=-O0 -ggdb --std=gnu99 -Wno-main -Wall -Wextra $(CFILES) $(INCLDIRS)
 | ||||
| 
 | ||||
| 
 | ||||
| build: test.bin | ||||
| 
 | ||||
| run: test.bin | ||||
| 	./test.bin
 | ||||
| 
 | ||||
| test.bin: test.c $(CFILES) | ||||
| 	gcc test.c $(CFLAGS) -o test.bin
 | ||||
| @ -0,0 +1,28 @@ | ||||
| //
 | ||||
| // Created by MightyPork on 2018/01/26.
 | ||||
| //
 | ||||
| 
 | ||||
| #ifndef TF_CONFIG_H | ||||
| #define TF_CONFIG_H | ||||
| 
 | ||||
| #include <stdint.h> | ||||
| #include <stdio.h> | ||||
| 
 | ||||
| #define TF_ID_BYTES     1 | ||||
| #define TF_LEN_BYTES    2 | ||||
| #define TF_TYPE_BYTES   1 | ||||
| #define TF_CKSUM_TYPE TF_CKSUM_CRC16 | ||||
| #define TF_USE_SOF_BYTE 1 | ||||
| #define TF_SOF_BYTE     0x01 | ||||
| typedef uint16_t TF_TICKS; | ||||
| typedef uint8_t TF_COUNT; | ||||
| #define TF_MAX_PAYLOAD_RX 10240 | ||||
| #define TF_SENDBUF_LEN 64 | ||||
| #define TF_MAX_ID_LST   10 | ||||
| #define TF_MAX_TYPE_LST 10 | ||||
| #define TF_MAX_GEN_LST  5 | ||||
| #define TF_PARSER_TIMEOUT_TICKS 10 | ||||
| 
 | ||||
| #define TF_Error(format, ...) printf("[TF] " format "\n", ##__VA_ARGS__) | ||||
| 
 | ||||
| #endif //TF_CONFIG_H
 | ||||
| @ -0,0 +1,322 @@ | ||||
| #include <stdio.h> | ||||
| #include <string.h> | ||||
| #include "../../TinyFrame.h" | ||||
| #include "../utils.h" | ||||
| 
 | ||||
| TinyFrame *demo_tf; | ||||
| 
 | ||||
| extern const char *romeo; | ||||
| 
 | ||||
| /**
 | ||||
|  * This function should be defined in the application code. | ||||
|  * It implements the lowest layer - sending bytes to UART (or other) | ||||
|  */ | ||||
| void TF_WriteImpl(TinyFrame *tf, const uint8_t *buff, uint32_t len) | ||||
| { | ||||
|     printf("--------------------\n"); | ||||
|     printf("\033[32mTF_WriteImpl - sending frame:\033[0m\n"); | ||||
|     dumpFrame(buff, len); | ||||
| 
 | ||||
|     // Send it back as if we received it
 | ||||
|     TF_Accept(tf, buff, len); | ||||
| } | ||||
| 
 | ||||
| /** An example listener function */ | ||||
| TF_Result myListener(TinyFrame *tf, TF_Msg *msg) | ||||
| { | ||||
|     (void)tf; | ||||
|     dumpFrameInfo(msg); | ||||
|     if (strcmp((const char *) msg->data, romeo) == 0) { | ||||
|         printf("FILE TRANSFERRED OK!\r\n"); | ||||
|     } | ||||
|     else { | ||||
|         printf("FAIL!!!!\r\n"); | ||||
|     } | ||||
|     return TF_STAY; | ||||
| } | ||||
| 
 | ||||
| void main(void) | ||||
| { | ||||
|     TF_Msg msg; | ||||
| 
 | ||||
|     // Set up the TinyFrame library
 | ||||
|     demo_tf = TF_Init(TF_MASTER); // 1 = master, 0 = slave
 | ||||
|     TF_AddGenericListener(demo_tf, myListener); | ||||
| 
 | ||||
|     printf("------ Simulate sending a LOOONG message --------\n"); | ||||
| 
 | ||||
|     // We prepare a message without .data but with a set .len
 | ||||
|     TF_ClearMsg(&msg); | ||||
|     msg.type = 0x22; | ||||
|     msg.len = (TF_LEN) strlen(romeo); | ||||
|     
 | ||||
|     // Start the multipart frame
 | ||||
|     TF_Send_Multipart(demo_tf, &msg); | ||||
|     
 | ||||
|     // Now we send the payload in as many pieces as we like.
 | ||||
|     // Careful - TF transmitter is locked until we close the multipart frame
 | ||||
|     
 | ||||
|     uint32_t remain = strlen(romeo); | ||||
|     const uint8_t* toSend = (const uint8_t*)romeo; | ||||
|     
 | ||||
|     while (remain > 0) { | ||||
|       uint32_t chunk = (remain>16) ? 16 : remain; | ||||
|       
 | ||||
|       // Send a piece
 | ||||
|       TF_Multipart_Payload(demo_tf, toSend, chunk); | ||||
|       
 | ||||
|       remain -= chunk; | ||||
|       toSend += chunk; | ||||
|     } | ||||
|     
 | ||||
|     // Done, close
 | ||||
|     TF_Multipart_Close(demo_tf); | ||||
| } | ||||
| 
 | ||||
| const char *romeo = "THE TRAGEDY OF ROMEO AND JULIET\n" | ||||
|     "\n" | ||||
|     "by William Shakespeare\n" | ||||
|     "\n" | ||||
|     "\n" | ||||
|     "\n" | ||||
|     "Dramatis Personae\n" | ||||
|     "\n" | ||||
|     "  Chorus.\n" | ||||
|     "\n" | ||||
|     "\n" | ||||
|     "  Escalus, Prince of Verona.\n" | ||||
|     "\n" | ||||
|     "  Paris, a young Count, kinsman to the Prince.\n" | ||||
|     "\n" | ||||
|     "  Montague, heads of two houses at variance with each other.\n" | ||||
|     "\n" | ||||
|     "  Capulet, heads of two houses at variance with each other.\n" | ||||
|     "\n" | ||||
|     "  An old Man, of the Capulet family.\n" | ||||
|     "\n" | ||||
|     "  Romeo, son to Montague.\n" | ||||
|     "\n" | ||||
|     "  Tybalt, nephew to Lady Capulet.\n" | ||||
|     "\n" | ||||
|     "  Mercutio, kinsman to the Prince and friend to Romeo.\n" | ||||
|     "\n" | ||||
|     "  Benvolio, nephew to Montague, and friend to Romeo\n" | ||||
|     "\n" | ||||
|     "  Tybalt, nephew to Lady Capulet.\n" | ||||
|     "\n" | ||||
|     "  Friar Laurence, Franciscan.\n" | ||||
|     "\n" | ||||
|     "  Friar John, Franciscan.\n" | ||||
|     "\n" | ||||
|     "  Balthasar, servant to Romeo.\n" | ||||
|     "\n" | ||||
|     "  Abram, servant to Montague.\n" | ||||
|     "\n" | ||||
|     "  Sampson, servant to Capulet.\n" | ||||
|     "\n" | ||||
|     "  Gregory, servant to Capulet.\n" | ||||
|     "\n" | ||||
|     "  Peter, servant to Juliet's nurse.\n" | ||||
|     "\n" | ||||
|     "  An Apothecary.\n" | ||||
|     "\n" | ||||
|     "  Three Musicians.\n" | ||||
|     "\n" | ||||
|     "  An Officer.\n" | ||||
|     "\n" | ||||
|     "\n" | ||||
|     "  Lady Montague, wife to Montague.\n" | ||||
|     "\n" | ||||
|     "  Lady Capulet, wife to Capulet.\n" | ||||
|     "\n" | ||||
|     "  Juliet, daughter to Capulet.\n" | ||||
|     "\n" | ||||
|     "  Nurse to Juliet.\n" | ||||
|     "\n" | ||||
|     "\n" | ||||
|     "  Citizens of Verona; Gentlemen and Gentlewomen of both houses;\n" | ||||
|     "    Maskers, Torchbearers, Pages, Guards, Watchmen, Servants, and\n" | ||||
|     "    Attendants.\n" | ||||
|     "\n" | ||||
|     "                            SCENE.--Verona; Mantua.\n" | ||||
|     "\n" | ||||
|     "\n" | ||||
|     "\n" | ||||
|     "                        THE PROLOGUE\n" | ||||
|     "\n" | ||||
|     "                        Enter Chorus.\n" | ||||
|     "\n" | ||||
|     "\n" | ||||
|     "  Chor. Two households, both alike in dignity,\n" | ||||
|     "    In fair Verona, where we lay our scene,\n" | ||||
|     "    From ancient grudge break to new mutiny,\n" | ||||
|     "    Where civil blood makes civil hands unclean.\n" | ||||
|     "    From forth the fatal loins of these two foes\n" | ||||
|     "    A pair of star-cross'd lovers take their life;\n" | ||||
|     "    Whose misadventur'd piteous overthrows\n" | ||||
|     "    Doth with their death bury their parents' strife.\n" | ||||
|     "    The fearful passage of their death-mark'd love,\n" | ||||
|     "    And the continuance of their parents' rage,\n" | ||||
|     "    Which, but their children's end, naught could remove,\n" | ||||
|     "    Is now the two hours' traffic of our stage;\n" | ||||
|     "    The which if you with patient ears attend,\n" | ||||
|     "    What here shall miss, our toil shall strive to mend.\n" | ||||
|     "                                                         [Exit.]\n" | ||||
|     "\n" | ||||
|     "\n" | ||||
|     "\n" | ||||
|     "\n" | ||||
|     "ACT I. Scene I.\n" | ||||
|     "Verona. A public place.\n" | ||||
|     "\n" | ||||
|     "Enter Sampson and Gregory (with swords and bucklers) of the house\n" | ||||
|     "of Capulet.\n" | ||||
|     "\n" | ||||
|     "\n" | ||||
|     "  Samp. Gregory, on my word, we'll not carry coals.\n" | ||||
|     "\n" | ||||
|     "  Greg. No, for then we should be colliers.\n" | ||||
|     "\n" | ||||
|     "  Samp. I mean, an we be in choler, we'll draw.\n" | ||||
|     "\n" | ||||
|     "  Greg. Ay, while you live, draw your neck out of collar.\n" | ||||
|     "\n" | ||||
|     "  Samp. I strike quickly, being moved.\n" | ||||
|     "\n" | ||||
|     "  Greg. But thou art not quickly moved to strike.\n" | ||||
|     "\n" | ||||
|     "  Samp. A dog of the house of Montague moves me.\n" | ||||
|     "\n" | ||||
|     "  Greg. To move is to stir, and to be valiant is to stand.\n" | ||||
|     "    Therefore, if thou art moved, thou runn'st away.\n" | ||||
|     "\n" | ||||
|     "  Samp. A dog of that house shall move me to stand. I will take\n" | ||||
|     "    the wall of any man or maid of Montague's.\n" | ||||
|     "\n" | ||||
|     "  Greg. That shows thee a weak slave; for the weakest goes to the\n" | ||||
|     "    wall.\n" | ||||
|     "\n" | ||||
|     "  Samp. 'Tis true; and therefore women, being the weaker vessels,\n" | ||||
|     "    are ever thrust to the wall. Therefore I will push Montague's men\n" | ||||
|     "    from the wall and thrust his maids to the wall.\n" | ||||
|     "\n" | ||||
|     "  Greg. The quarrel is between our masters and us their men.\n" | ||||
|     "\n" | ||||
|     "  Samp. 'Tis all one. I will show myself a tyrant. When I have\n" | ||||
|     "    fought with the men, I will be cruel with the maids- I will cut off\n" | ||||
|     "    their heads.\n" | ||||
|     "\n" | ||||
|     "  Greg. The heads of the maids?\n" | ||||
|     "\n" | ||||
|     "  Samp. Ay, the heads of the maids, or their maidenheads.\n" | ||||
|     "    Take it in what sense thou wilt.\n" | ||||
|     "\n" | ||||
|     "  Greg. They must take it in sense that feel it.\n" | ||||
|     "\n" | ||||
|     "  Samp. Me they shall feel while I am able to stand; and 'tis known I\n" | ||||
|     "    am a pretty piece of flesh.\n" | ||||
|     "\n" | ||||
|     "  Greg. 'Tis well thou art not fish; if thou hadst, thou hadst\n" | ||||
|     "    been poor-John. Draw thy tool! Here comes two of the house of\n" | ||||
|     "    Montagues.\n" | ||||
|     "\n" | ||||
|     "           Enter two other Servingmen [Abram and Balthasar].\n" | ||||
|     "\n" | ||||
|     "\n" | ||||
|     "  Samp. My naked weapon is out. Quarrel! I will back thee.\n" | ||||
|     "\n" | ||||
|     "  Greg. How? turn thy back and run?\n" | ||||
|     "\n" | ||||
|     "  Samp. Fear me not.\n" | ||||
|     "\n" | ||||
|     "  Greg. No, marry. I fear thee!\n" | ||||
|     "\n" | ||||
|     "  Samp. Let us take the law of our sides; let them begin.\n" | ||||
|     "\n" | ||||
|     "  Greg. I will frown as I pass by, and let them take it as they list.\n" | ||||
|     "\n" | ||||
|     "  Samp. Nay, as they dare. I will bite my thumb at them; which is\n" | ||||
|     "    disgrace to them, if they bear it.\n" | ||||
|     "\n" | ||||
|     "  Abr. Do you bite your thumb at us, sir?\n" | ||||
|     "\n" | ||||
|     "  Samp. I do bite my thumb, sir.\n" | ||||
|     "\n" | ||||
|     "  Abr. Do you bite your thumb at us, sir?\n" | ||||
|     "\n" | ||||
|     "  Samp. [aside to Gregory] Is the law of our side if I say ay?\n" | ||||
|     "\n" | ||||
|     "  Greg. [aside to Sampson] No.\n" | ||||
|     "\n" | ||||
|     "  Samp. No, sir, I do not bite my thumb at you, sir; but I bite my\n" | ||||
|     "    thumb, sir.\n" | ||||
|     "\n" | ||||
|     "  Greg. Do you quarrel, sir?\n" | ||||
|     "\n" | ||||
|     "  Abr. Quarrel, sir? No, sir.\n" | ||||
|     "\n" | ||||
|     "  Samp. But if you do, sir, am for you. I serve as good a man as\n" | ||||
|     "    you.\n" | ||||
|     "\n" | ||||
|     "  Abr. No better.\n" | ||||
|     "\n" | ||||
|     "  Samp. Well, sir.\n" | ||||
|     "\n" | ||||
|     "                        Enter Benvolio.\n" | ||||
|     "\n" | ||||
|     "\n" | ||||
|     "  Greg. [aside to Sampson] Say 'better.' Here comes one of my\n" | ||||
|     "    master's kinsmen.\n" | ||||
|     "\n" | ||||
|     "  Samp. Yes, better, sir.\n" | ||||
|     "\n" | ||||
|     "  Abr. You lie.\n" | ||||
|     "\n" | ||||
|     "  Samp. Draw, if you be men. Gregory, remember thy swashing blow.\n" | ||||
|     "                                                     They fight.\n" | ||||
|     "\n" | ||||
|     "  Ben. Part, fools! [Beats down their swords.]\n" | ||||
|     "    Put up your swords. You know not what you do.\n" | ||||
|     "\n" | ||||
|     "                          Enter Tybalt.\n" | ||||
|     "\n" | ||||
|     "\n" | ||||
|     "  Tyb. What, art thou drawn among these heartless hinds?\n" | ||||
|     "    Turn thee Benvolio! look upon thy death.\n" | ||||
|     "\n" | ||||
|     "  Ben. I do but keep the peace. Put up thy sword,\n" | ||||
|     "    Or manage it to part these men with me.\n" | ||||
|     "\n" | ||||
|     "  Tyb. What, drawn, and talk of peace? I hate the word\n" | ||||
|     "    As I hate hell, all Montagues, and thee.\n" | ||||
|     "    Have at thee, coward!                            They fight.\n" | ||||
|     "\n" | ||||
|     "     Enter an officer, and three or four Citizens with clubs or\n" | ||||
|     "                          partisans.\n" | ||||
|     "\n" | ||||
|     "\n" | ||||
|     "  Officer. Clubs, bills, and partisans! Strike! beat them down!\n" | ||||
|     "\n" | ||||
|     "  Citizens. Down with the Capulets! Down with the Montagues!\n" | ||||
|     "\n" | ||||
|     "           Enter Old Capulet in his gown, and his Wife.\n" | ||||
|     "\n" | ||||
|     "\n" | ||||
|     "  Cap. What noise is this? Give me my long sword, ho!\n" | ||||
|     "\n" | ||||
|     "  Wife. A crutch, a crutch! Why call you for a sword?\n" | ||||
|     "\n" | ||||
|     "  Cap. My sword, I say! Old Montague is come\n" | ||||
|     "    And flourishes his blade in spite of me.\n" | ||||
|     "\n" | ||||
|     "                 Enter Old Montague and his Wife.\n" | ||||
|     "\n" | ||||
|     "\n" | ||||
|     "  Mon. Thou villain Capulet!- Hold me not, let me go.\n" | ||||
|     "\n" | ||||
|     "  M. Wife. Thou shalt not stir one foot to seek a foe.\n" | ||||
|     "\n" | ||||
|     "                Enter Prince Escalus, with his Train.\n" | ||||
|     "\n" | ||||
|     "\n" | ||||
|     "END OF FILE\n"; | ||||
					Loading…
					
					
				
		Reference in new issue