fix memoy leak of crc msg
still don't work with time
This commit is contained in:
parent
a0ce103a16
commit
f9b4ecb42c
19
mac_sender.c
19
mac_sender.c
@ -126,10 +126,12 @@ void MacSender(void *argument) {
|
|||||||
} else {
|
} else {
|
||||||
// Checksum error, send original message again
|
// Checksum error, send original message again
|
||||||
if(lastSentMsgPtr != NULL) {
|
if(lastSentMsgPtr != NULL) {
|
||||||
retCode = osMemoryPoolFree(memPool, queueMsg.anyPtr);
|
//retCode = osMemoryPoolFree(memPool, queueMsg.anyPtr);
|
||||||
CheckRetCode(retCode, __LINE__, __FILE__, CONTINUE);
|
//CheckRetCode(retCode, __LINE__, __FILE__, CONTINUE);
|
||||||
|
|
||||||
|
memcpy(queueMsg.anyPtr, lastSentMsgPtr, sizeof(lastSentMsgPtr));
|
||||||
queueMsg.type = TO_PHY;
|
queueMsg.type = TO_PHY;
|
||||||
queueMsg.anyPtr = lastSentMsgPtr;
|
//queueMsg.anyPtr = lastSentMsgPtr;
|
||||||
retCode = osMessageQueuePut(
|
retCode = osMessageQueuePut(
|
||||||
queue_phyS_id,
|
queue_phyS_id,
|
||||||
&queueMsg,
|
&queueMsg,
|
||||||
@ -240,7 +242,7 @@ void MacSender(void *argument) {
|
|||||||
|
|
||||||
msg = osMemoryPoolAlloc(memPool, 0); // TODO - Leak of memory
|
msg = osMemoryPoolAlloc(memPool, 0); // TODO - Leak of memory
|
||||||
if(msg == NULL) {
|
if(msg == NULL) {
|
||||||
printf("Memory allocation failed\r\n");
|
printf("Memory allocation failed #1\r\n");
|
||||||
assert(false);
|
assert(false);
|
||||||
}
|
}
|
||||||
msg[0] = src.raw;
|
msg[0] = src.raw;
|
||||||
@ -254,8 +256,15 @@ void MacSender(void *argument) {
|
|||||||
CheckRetCode(retCode, __LINE__, __FILE__, CONTINUE);
|
CheckRetCode(retCode, __LINE__, __FILE__, CONTINUE);
|
||||||
|
|
||||||
if(dst.addr != BROADCAST_ADDRESS) {
|
if(dst.addr != BROADCAST_ADDRESS) {
|
||||||
lastSentMsgPtr = osMemoryPoolAlloc(memPool, osWaitForever);
|
if(dst.sapi == CHAT_SAPI) {
|
||||||
|
lastSentMsgPtr = osMemoryPoolAlloc(memPool, 0);
|
||||||
|
if(lastSentMsgPtr == NULL) {
|
||||||
|
printf("Memory allocation failed #2\r\n");
|
||||||
|
assert(false);
|
||||||
|
}
|
||||||
memcpy(lastSentMsgPtr, msg, length+4);
|
memcpy(lastSentMsgPtr, msg, length+4);
|
||||||
|
// TODO test if station is online
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
queueMsg.anyPtr = msg;
|
queueMsg.anyPtr = msg;
|
||||||
|
14
main.h
14
main.h
@ -139,3 +139,17 @@ typedef union {
|
|||||||
};
|
};
|
||||||
uint8_t raw;
|
uint8_t raw;
|
||||||
} Status;
|
} Status;
|
||||||
|
|
||||||
|
typedef union {
|
||||||
|
struct {
|
||||||
|
bool_t nothing0: 1; // MSB
|
||||||
|
bool_t chat: 1;
|
||||||
|
bool_t nothing2: 1;
|
||||||
|
bool_t time: 1;
|
||||||
|
bool_t nothing4: 1;
|
||||||
|
bool_t nothing5: 1;
|
||||||
|
bool_t nothing6: 1;
|
||||||
|
bool_t nothing7: 1; // LSB
|
||||||
|
};
|
||||||
|
uint8_t raw;
|
||||||
|
} SapiToken;
|
||||||
|
@ -120,7 +120,7 @@
|
|||||||
<SetRegEntry>
|
<SetRegEntry>
|
||||||
<Number>0</Number>
|
<Number>0</Number>
|
||||||
<Key>EVENTREC_CNF</Key>
|
<Key>EVENTREC_CNF</Key>
|
||||||
<Name>-l2 -a1 -s0 -f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000</Name>
|
<Name>-l0 -a1 -s0 -f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000</Name>
|
||||||
</SetRegEntry>
|
</SetRegEntry>
|
||||||
<SetRegEntry>
|
<SetRegEntry>
|
||||||
<Number>0</Number>
|
<Number>0</Number>
|
||||||
@ -145,7 +145,7 @@
|
|||||||
<SetRegEntry>
|
<SetRegEntry>
|
||||||
<Number>0</Number>
|
<Number>0</Number>
|
||||||
<Key>ST-LINKIII-KEIL_SWO</Key>
|
<Key>ST-LINKIII-KEIL_SWO</Key>
|
||||||
<Name>-U066DFF485153826687131237 -O8398 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P2 -N00("ARM CoreSight SW-DP (ARM Core") -D00(5BA02477) -L00(0) -TO131075 -TC216000000 -TT216000000 -TP21 -TDS806B -TDT0 -TDC1F -TIE1 -TIP1 -FO7 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F746NGHx$CMSIS\Flash\STM32F7x_1024.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2</Name>
|
<Name>-U066DFF485153826687131237 -O8398 -SF1800 -C0 -A0 -I2 -HNlocalhost -HP7184 -P2 -N00("ARM CoreSight SW-DP (ARM Core") -D00(5BA02477) -L00(0) -TO131075 -TC216000000 -TT216000000 -TP21 -TDS806B -TDT0 -TDC1F -TIE1 -TIP1 -FO7 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F746NGHx$CMSIS\Flash\STM32F7x_1024.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2</Name>
|
||||||
</SetRegEntry>
|
</SetRegEntry>
|
||||||
<SetRegEntry>
|
<SetRegEntry>
|
||||||
<Number>0</Number>
|
<Number>0</Number>
|
||||||
@ -153,40 +153,7 @@
|
|||||||
<Name>UL2CM3(-S0 -C0 -P0 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F746NGHx$CMSIS\Flash\STM32F7x_1024.FLM))</Name>
|
<Name>UL2CM3(-S0 -C0 -P0 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F746NGHx$CMSIS\Flash\STM32F7x_1024.FLM))</Name>
|
||||||
</SetRegEntry>
|
</SetRegEntry>
|
||||||
</TargetDriverDllRegistry>
|
</TargetDriverDllRegistry>
|
||||||
<Breakpoint>
|
<Breakpoint/>
|
||||||
<Bp>
|
|
||||||
<Number>0</Number>
|
|
||||||
<Type>0</Type>
|
|
||||||
<LineNumber>18</LineNumber>
|
|
||||||
<EnabledFlag>1</EnabledFlag>
|
|
||||||
<Address>134311210</Address>
|
|
||||||
<ByteObject>0</ByteObject>
|
|
||||||
<HtxType>0</HtxType>
|
|
||||||
<ManyObjects>0</ManyObjects>
|
|
||||||
<SizeOfObject>0</SizeOfObject>
|
|
||||||
<BreakByAccess>0</BreakByAccess>
|
|
||||||
<BreakIfRCount>1</BreakIfRCount>
|
|
||||||
<Filename>.\mac_receiver.c</Filename>
|
|
||||||
<ExecCommand></ExecCommand>
|
|
||||||
<Expression>\\tokenring_project\mac_receiver.c\18</Expression>
|
|
||||||
</Bp>
|
|
||||||
<Bp>
|
|
||||||
<Number>1</Number>
|
|
||||||
<Type>0</Type>
|
|
||||||
<LineNumber>199</LineNumber>
|
|
||||||
<EnabledFlag>1</EnabledFlag>
|
|
||||||
<Address>0</Address>
|
|
||||||
<ByteObject>0</ByteObject>
|
|
||||||
<HtxType>0</HtxType>
|
|
||||||
<ManyObjects>0</ManyObjects>
|
|
||||||
<SizeOfObject>0</SizeOfObject>
|
|
||||||
<BreakByAccess>0</BreakByAccess>
|
|
||||||
<BreakIfRCount>0</BreakIfRCount>
|
|
||||||
<Filename>.\main.c</Filename>
|
|
||||||
<ExecCommand></ExecCommand>
|
|
||||||
<Expression></Expression>
|
|
||||||
</Bp>
|
|
||||||
</Breakpoint>
|
|
||||||
<WatchWindow1>
|
<WatchWindow1>
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>0</count>
|
<count>0</count>
|
||||||
@ -208,11 +175,6 @@
|
|||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>lastToken</ItemText>
|
<ItemText>lastToken</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
<Ww>
|
|
||||||
<count>4</count>
|
|
||||||
<WinNumber>1</WinNumber>
|
|
||||||
<ItemText>queue_macData_id</ItemText>
|
|
||||||
</Ww>
|
|
||||||
</WatchWindow1>
|
</WatchWindow1>
|
||||||
<MemoryWindow1>
|
<MemoryWindow1>
|
||||||
<Mm>
|
<Mm>
|
||||||
@ -287,7 +249,7 @@
|
|||||||
<EnableFlashSeq>0</EnableFlashSeq>
|
<EnableFlashSeq>0</EnableFlashSeq>
|
||||||
<EnableLog>0</EnableLog>
|
<EnableLog>0</EnableLog>
|
||||||
<Protocol>2</Protocol>
|
<Protocol>2</Protocol>
|
||||||
<DbgClock>10000000</DbgClock>
|
<DbgClock>1800000</DbgClock>
|
||||||
</DebugDescription>
|
</DebugDescription>
|
||||||
</TargetOption>
|
</TargetOption>
|
||||||
</Target>
|
</Target>
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
<TargetName>Target 1</TargetName>
|
<TargetName>Target 1</TargetName>
|
||||||
<ToolsetNumber>0x4</ToolsetNumber>
|
<ToolsetNumber>0x4</ToolsetNumber>
|
||||||
<ToolsetName>ARM-ADS</ToolsetName>
|
<ToolsetName>ARM-ADS</ToolsetName>
|
||||||
<pCCUsed>5060960::V5.06 update 7 (build 960)::C:\Program Files (x86)\ARM_Compiler_5.06u7</pCCUsed>
|
<pCCUsed>5060960::V5.06 update 7 (build 960)::..\..\Program Files (x86)\ARM_Compiler_5.06u7</pCCUsed>
|
||||||
<uAC6>0</uAC6>
|
<uAC6>0</uAC6>
|
||||||
<TargetOption>
|
<TargetOption>
|
||||||
<TargetCommonOption>
|
<TargetCommonOption>
|
||||||
|
Reference in New Issue
Block a user