| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -208,122 +208,124 @@ void CAN_SendLoggingFrame(FDCAN_HandleTypeDef* hcan) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  uint8_t buffer[8];
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  buffer[0] = ((slavelognum << 4) | framelognum);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  for (int i = 0; i < AMS_LOGGING_FRAMES_PER_LOOP; i++) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[0] = ((slavelognum << 4) | framelognum);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  switch (framelognum) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  case 0:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[1] = CAN_convert_logval(slaves[slavelognum].cellVoltages[0],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_VOLTAGE_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[2] = CAN_convert_logval(slaves[slavelognum].cellVoltages[1],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_VOLTAGE_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[3] = CAN_convert_logval(slaves[slavelognum].cellVoltages[2],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_VOLTAGE_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[4] = CAN_convert_logval(slaves[slavelognum].cellVoltages[3],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_VOLTAGE_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[5] = CAN_convert_logval(slaves[slavelognum].cellVoltages[4],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_VOLTAGE_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[6] = CAN_convert_logval(slaves[slavelognum].cellVoltages[5],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_VOLTAGE_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[7] = CAN_convert_logval(slaves[slavelognum].cellVoltages[6],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_VOLTAGE_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    switch (framelognum) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    case 0:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[1] = CAN_convert_logval(slaves[slavelognum].cellVoltages[0],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_VOLTAGE_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[2] = CAN_convert_logval(slaves[slavelognum].cellVoltages[1],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_VOLTAGE_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[3] = CAN_convert_logval(slaves[slavelognum].cellVoltages[2],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_VOLTAGE_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[4] = CAN_convert_logval(slaves[slavelognum].cellVoltages[3],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_VOLTAGE_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[5] = CAN_convert_logval(slaves[slavelognum].cellVoltages[4],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_VOLTAGE_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[6] = CAN_convert_logval(slaves[slavelognum].cellVoltages[5],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_VOLTAGE_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[7] = CAN_convert_logval(slaves[slavelognum].cellVoltages[6],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_VOLTAGE_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  case 1:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[1] = CAN_convert_logval(slaves[slavelognum].cellVoltages[7],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_VOLTAGE_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[2] = CAN_convert_logval(slaves[slavelognum].cellVoltages[8],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_VOLTAGE_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[3] = CAN_convert_logval(slaves[slavelognum].cellVoltages[9],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_VOLTAGE_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[4] =
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        CAN_convert_logval(slaves[slavelognum].cellTemps[0], BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[5] =
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        CAN_convert_logval(slaves[slavelognum].cellTemps[1], BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[6] =
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        CAN_convert_logval(slaves[slavelognum].cellTemps[2], BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[7] =
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        CAN_convert_logval(slaves[slavelognum].cellTemps[3], BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    case 1:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[1] = CAN_convert_logval(slaves[slavelognum].cellVoltages[7],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_VOLTAGE_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[2] = CAN_convert_logval(slaves[slavelognum].cellVoltages[8],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_VOLTAGE_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[3] = CAN_convert_logval(slaves[slavelognum].cellVoltages[9],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_VOLTAGE_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[4] = CAN_convert_logval(slaves[slavelognum].cellTemps[0],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[5] = CAN_convert_logval(slaves[slavelognum].cellTemps[1],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[6] = CAN_convert_logval(slaves[slavelognum].cellTemps[2],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[7] = CAN_convert_logval(slaves[slavelognum].cellTemps[3],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  case 2:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[1] =
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        CAN_convert_logval(slaves[slavelognum].cellTemps[4], BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[2] =
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        CAN_convert_logval(slaves[slavelognum].cellTemps[5], BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[3] =
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        CAN_convert_logval(slaves[slavelognum].cellTemps[6], BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[4] =
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        CAN_convert_logval(slaves[slavelognum].cellTemps[7], BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[5] =
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        CAN_convert_logval(slaves[slavelognum].cellTemps[8], BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[6] =
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        CAN_convert_logval(slaves[slavelognum].cellTemps[9], BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[7] = CAN_convert_logval(slaves[slavelognum].cellTemps[10],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    case 2:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[1] = CAN_convert_logval(slaves[slavelognum].cellTemps[4],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[2] = CAN_convert_logval(slaves[slavelognum].cellTemps[5],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[3] = CAN_convert_logval(slaves[slavelognum].cellTemps[6],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[4] = CAN_convert_logval(slaves[slavelognum].cellTemps[7],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[5] = CAN_convert_logval(slaves[slavelognum].cellTemps[8],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[6] = CAN_convert_logval(slaves[slavelognum].cellTemps[9],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[7] = CAN_convert_logval(slaves[slavelognum].cellTemps[10],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  case 3:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[1] = CAN_convert_logval(slaves[slavelognum].cellTemps[11],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[2] = CAN_convert_logval(slaves[slavelognum].cellTemps[12],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[3] = CAN_convert_logval(slaves[slavelognum].cellTemps[13],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[4] = CAN_convert_logval(slaves[slavelognum].cellTemps[14],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[5] = CAN_convert_logval(slaves[slavelognum].cellTemps[15],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[6] = CAN_convert_logval(slaves[slavelognum].cellTemps[16],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[7] = CAN_convert_logval(slaves[slavelognum].cellTemps[17],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    case 3:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[1] = CAN_convert_logval(slaves[slavelognum].cellTemps[11],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[2] = CAN_convert_logval(slaves[slavelognum].cellTemps[12],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[3] = CAN_convert_logval(slaves[slavelognum].cellTemps[13],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[4] = CAN_convert_logval(slaves[slavelognum].cellTemps[14],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[5] = CAN_convert_logval(slaves[slavelognum].cellTemps[15],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[6] = CAN_convert_logval(slaves[slavelognum].cellTemps[16],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[7] = CAN_convert_logval(slaves[slavelognum].cellTemps[17],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  case 4:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[1] = CAN_convert_logval(slaves[slavelognum].cellTemps[18],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[2] = CAN_convert_logval(slaves[slavelognum].cellTemps[19],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[3] = CAN_convert_logval(slaves[slavelognum].cellTemps[20],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[4] = CAN_convert_logval(slaves[slavelognum].cellTemps[21],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[5] = CAN_convert_logval(slaves[slavelognum].cellTemps[22],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[6] = CAN_convert_logval(slaves[slavelognum].cellTemps[23],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[7] = CAN_convert_logval(slaves[slavelognum].cellTemps[24],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    case 4:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[1] = CAN_convert_logval(slaves[slavelognum].cellTemps[18],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[2] = CAN_convert_logval(slaves[slavelognum].cellTemps[19],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[3] = CAN_convert_logval(slaves[slavelognum].cellTemps[20],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[4] = CAN_convert_logval(slaves[slavelognum].cellTemps[21],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[5] = CAN_convert_logval(slaves[slavelognum].cellTemps[22],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[6] = CAN_convert_logval(slaves[slavelognum].cellTemps[23],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[7] = CAN_convert_logval(slaves[slavelognum].cellTemps[24],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  case 5:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[1] = CAN_convert_logval(slaves[slavelognum].cellTemps[25],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[2] = CAN_convert_logval(slaves[slavelognum].cellTemps[26],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[3] = CAN_convert_logval(slaves[slavelognum].cellTemps[27],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[4] = CAN_convert_logval(slaves[slavelognum].cellTemps[28],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[5] = CAN_convert_logval(slaves[slavelognum].cellTemps[29],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[6] = CAN_convert_logval(slaves[slavelognum].cellTemps[30],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    buffer[7] = CAN_convert_logval(slaves[slavelognum].cellTemps[31],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                   BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    case 5:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[1] = CAN_convert_logval(slaves[slavelognum].cellTemps[25],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[2] = CAN_convert_logval(slaves[slavelognum].cellTemps[26],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[3] = CAN_convert_logval(slaves[slavelognum].cellTemps[27],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[4] = CAN_convert_logval(slaves[slavelognum].cellTemps[28],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[5] = CAN_convert_logval(slaves[slavelognum].cellTemps[29],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[6] = CAN_convert_logval(slaves[slavelognum].cellTemps[30],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      buffer[7] = CAN_convert_logval(slaves[slavelognum].cellTemps[31],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                     BATTERY_TEMP_TYPE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  CAN_Transmit(hcan, AMS_LOGGING_ID, buffer, 8);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    CAN_Transmit(hcan, AMS_LOGGING_ID, buffer, 8);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  framelognum++;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  if ((framelognum >= AMS_LOGGING_NUM_FRAMES)) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    framelognum = 0;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    slavelognum++;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  if ((slavelognum >= NUMBEROFSLAVES)) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    slavelognum = 0;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    framelognum = 0;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    framelognum++;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    if ((framelognum >= AMS_LOGGING_NUM_FRAMES)) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      framelognum = 0;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      slavelognum++;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    if ((slavelognum >= NUMBEROFSLAVES)) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      slavelognum = 0;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      framelognum = 0;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				
 
 |