It is very difficult for me to understand how to get through the link in C #. In my code, I have a function that takes two parameters
private bool SerialUnEscape(byte serialData, ref byte serialResult) { if (((SerialProcessValue)serialData == SerialProcessValue.SERIAL_PACKET_START) || ((SerialProcessValue)serialData == SerialProcessValue.SERIAL_PACKET_END)) { serialEscaped = false; serialResult = 0; return (true); } } else if (serialEscaped) { if ((SerialProcessValue)serialData == SerialProcessValue.SERIAL_PACKET_ESCAPE_START) { serialResult = (int)SerialProcessValue.SERIAL_PACKET_START; serialEscaped = false; return (true); } } else { serialResult = serialData; return (true); } }
I call a function with a link like serialDataLsb and serialDataMsb .
Now, my confusion about what will be the value of serialDataLsb or serialDataMsb , Does the value serialResult ??
for (i = 0; i < serialElements; i++) { serialDataLsb = 0; serialDataMsb = 0; while (serialBufferWalk < serialIndex) { if (SerialUnEscape(serialBuffer[serialBufferWalk++], ref serialDataLsb)) { break; } } while (serialBufferWalk < serialIndex) { if (SerialUnEscape(serialBuffer[serialBufferWalk++], ref serialDataMsb)) { break; } } serialElementData[i] = (UInt16)(serialDataLsb + (serialDataMsb << 8)); }
and I need to port this code in python, 1) how can I implement pass by reference in python
I tried using this
while serialBufferWalk < serialIndex: if self.SerialUnEscape(serialBuffer[serialBufferWalk += 1],serialDataLsb): break while serialBufferWalk < serialIndex: if self.SerialUnEscape(serialBuffer[serialBufferWalk += 1],serialDataLsb): break
source share