Behrouz NematiPour

Zoltan and I had a meeting, and the counter solution he provided works better than mine. He explained to me that my proposed solution has flaws. RESOLVED.

Zoltan and I had a meeting, and the counter solution he provided works better than mine.
He explained to me that my proposed solution has flaws.
RESOLVED.

RESOLVED for now.

RESOLVED for now.

I would not do that because the function names and messages for each project should be different to avoid confusion. I think that is fine for now. RESOLVED.

I would not do that because the function names and messages for each project should be different to avoid confusion.
I think that is fine for now.

RESOLVED.

So the same channels are used for both the Leahi and Denali? I am not talking about how collisions are handled; that is handled by the CAN driver, not the FW or SW. My point is that the CAN Channel...

So the same channels are used for both the Leahi and Denali?
I am not talking about how collisions are handled; that is handled by the CAN driver, not the FW or SW.
My point is that the CAN Channels by themselves do not have the meaning we want; they are only a priority.
As we defined them, we gave them a meaning as a category; therefore, it is better to name them the Denali/Leahi Channels rather than the CAN Channels.

RESOLVED.

RESOLVED.

def fp_versions(self, major: int, minor: int, micro: int, build: int, fpga_id: int, fpga_major: int, fpga_minor: int, fpga_lab: int, compatibility_rev: int...
def fp_versions(self, major: int, minor: int, micro: int, build: int,
                     fpga_id: int, fpga_major: int, fpga_minor: int, fpga_lab: int,
                     compatibility_rev: int):
     """
     Broadcasts the current dd Version Data (Msg ID: 0x0F, 15)
     Args:
         @param major: (uint) - Major version number
         @param minor: (uint) - Minor version number
         @param micro: (uint) - Micro version number
         @param build: (uint) - Build version number
         @param fpga_id: (int) - FPGA id version number
         @param fpga_major: (int) - FPGA Major version number
         @param fpga_minor: (int) - FPGA Minor version number
         @param fpga_lab: (int) - FPGA Lab version number
         @param compatibility_rev: (uint) - The FWs/UI compatibility revision
     @return: None
     """
     if not self.can_enabled:
         raise ValueError("CAN Interface is not enabled")

     payload =  conversions.unsigned_byte_to_bytearray   (major            )
     payload += conversions.unsigned_byte_to_bytearray   (minor            )
     payload += conversions.unsigned_byte_to_bytearray   (micro            )
     payload += conversions.unsigned_short_to_bytearray  (build            )
     payload += conversions.unsigned_byte_to_bytearray   (fpga_id          )
     payload += conversions.unsigned_byte_to_bytearray   (fpga_major       )
     payload += conversions.unsigned_byte_to_bytearray   (fpga_minor       )
     payload += conversions.unsigned_byte_to_bytearray   (fpga_lab         )
     payload += conversions.unsigned_integer_to_bytearray(compatibility_rev)

     message = CAN.CanMessage.build_message(
                                         channel_id=CAN.CanChannels.fp_sync_broadcast_ch_id,
                                         message_id=msg_ids.MsgIds.MSG_ID_FP_VERSION_RESPONSE.value,
                                         payload=payload)

     self.can_interface.send(message, 0)
where is the rejection.conf? I don't see that in the CR.

where is the rejection.conf?
I don't see that in the CR.

RESOLVED

RESOLVED

RESOLVED

RESOLVED

RESOLVED

RESOLVED

Same as the previous comments I wrote to make it compatible with the device and the VM, the base folders are different, and it's not always on the HOME.

Same as the previous comments I wrote to make it compatible with the device and the VM, the base folders are different, and it's not always on the HOME.

RESOLVED

RESOLVED

RESOLVED

RESOLVED

RESOLVED

RESOLVED

RESOLVED

RESOLVED

I am happy to see that this old code is improving. I would recommend using the Conversion module instead of strings and DataTypes, as it handles everything automatically. Examples can be found in t...

I am happy to see that this old code is improving.
I would recommend using the Conversion module instead of strings and DataTypes, as it handles everything automatically.
Examples can be found in the following file in this CR:
https://devapps.diality.us/cru/#LEAHI-DIALIN-LDT-4484-1CFR-84688

Please add a docstring for the function. including the intention and parameters with their intentions.

Please add a docstring for the function.
including the intention and parameters with their intentions.

Same for CanChannels. The Channels we are referring to here are Leahi's or Denali's. Channels mainly have no meaning beyond their priorities when a collision occurs.

Same for CanChannels.
The Channels we are referring to here are Leahi's or Denali's.
Channels mainly have no meaning beyond their priorities when a collision occurs.

I recommend DenaliMessage or LeahiMessage, as CanMessage is generic, whereas Leahi/Denali indicate that the protocol is also implemented in the message we are sending. I'm not sure why the name was...

I recommend DenaliMessage or LeahiMessage, as CanMessage is generic, whereas Leahi/Denali indicate that the protocol is also implemented in the message we are sending.
I'm not sure why the name was changed, as it is a lot of change.
Also, there is no CAN Message.
There is a CAN Frame and a Leahi/Denali Message.

Change the name to ArterialWindow, Art is so confusing.

Change the name to ArterialWindow, Art is so confusing.