Skip to content

Commit

Permalink
Binary log file (LOG.TXT) placed on USB flash drive is usable now.
Browse files Browse the repository at this point in the history
  • Loading branch information
soldernerd committed Dec 21, 2017
1 parent 66eda3c commit 6a1074c
Show file tree
Hide file tree
Showing 5 changed files with 34 additions and 54 deletions.
52 changes: 27 additions & 25 deletions log.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@ uint32_t inputPowerSum;
uint32_t outputPowerSum;
uint32_t inputCapacitySum;
uint32_t outputCapacitySum;
uint16_t temperatureOnboardSum;
uint16_t temperatureExternal1Sum;
uint16_t temperatureExternal2Sum;
uint8_t chargerOnTime;
uint8_t lowPowerTime;
int32_t temperatureOnboardSum;
int32_t temperatureExternal1Sum;
int32_t temperatureExternal2Sum;
uint16_t chargerOnTime;
uint16_t lowPowerTime;
uint8_t status;
uint16_t averageCount;

Expand All @@ -45,12 +45,12 @@ static uint32_t _get_dateTime(void)
uint8_t hours = rtcc_get_hours_decimal();
uint8_t minutes = rtcc_get_minutes_decimal();
uint8_t seconds = rtcc_get_seconds_decimal();
datetime = ((year&0b111111) << 26);
datetime |= ((month&0b1111) << 22);
datetime |= (day&0b11111) << 17;
datetime |= ((hours&0b11111) << 12);
datetime |= ((minutes&0b111111) << 6);
datetime |= (seconds&0b11111);
datetime = (((uint32_t)(year&0b111111)) << 26);
datetime |= (((uint32_t)(month&0b1111)) << 22);
datetime |= (((uint32_t)day&0b11111)) << 17;
datetime |= (((uint32_t)(hours&0b11111)) << 12);
datetime |= (((uint16_t)(minutes&0b111111)) << 6);
datetime |= (seconds&0b111111);
return datetime;
};

Expand Down Expand Up @@ -90,23 +90,25 @@ void log_start_new(void)

uint16_t _get_input_power(void)
{
uint32_t pwr;
pwr = os.input_voltage * os.input_current;
int32_t pwr;
pwr = ((int32_t) os.input_voltage) * ((int32_t) os.input_current);
pwr /= 1000;
return (uint16_t) pwr;
}

uint16_t _get_output_power(void)
{
uint32_t pwr;
pwr = os.output_voltage * os.output_current;
pwr = ((int32_t) os.output_voltage) * ((int32_t) os.output_current);
pwr /= 1000;
return (uint16_t) pwr;
}

uint8_t _get_temperature(int16_t temperature)
{
return (uint8_t) (temperature+4000) / 100;
temperature += 4025;
temperature /= 50;
return (uint8_t) temperature;
}

void log_collect_data(void)
Expand Down Expand Up @@ -134,9 +136,9 @@ void log_collect_data(void)
temp = _get_output_power();
outputPowerSum += temp>>1;
outputCapacitySum += temp;
temperatureOnboardSum += _get_temperature(os.temperature_onboard);
temperatureExternal1Sum += _get_temperature(os.temperature_external_1);
temperatureExternal2Sum += _get_temperature(os.temperature_external_2);
temperatureOnboardSum += os.temperature_onboard;
temperatureExternal1Sum += os.temperature_external_1;
temperatureExternal2Sum += os.temperature_external_2;
if(buck_get_mode()&0b01111111)
{
++chargerOnTime;
Expand Down Expand Up @@ -178,13 +180,13 @@ void log_generate_entry(logEntry_t *log_entry)
log_entry->outputCurrent = outputCurrentSum / averageCount;
log_entry->inputPower = inputPowerSum / averageCount;
log_entry->outputPower = outputPowerSum / averageCount;
log_entry->inputCapacity = inputCapacitySum;
log_entry->outputCapacity = outputCapacitySum;
log_entry->temperatureOnboard = temperatureOnboardSum / averageCount;
log_entry->temperatureExternal1 = temperatureExternal1Sum / averageCount;
log_entry->temperatureExternal2 = temperatureExternal2Sum / averageCount;
log_entry->chargerOnTime = chargerOnTime;
log_entry->lowPowerTime = lowPowerTime;
log_entry->inputCapacity = (inputCapacitySum+500) / 1000;
log_entry->outputCapacity = (outputCapacitySum+500) / 1000;
log_entry->temperatureOnboard = _get_temperature(temperatureOnboardSum/averageCount);
log_entry->temperatureExternal1 = _get_temperature(temperatureExternal1Sum/averageCount);
log_entry->temperatureExternal2 = _get_temperature(temperatureExternal2Sum/averageCount);
log_entry->chargerOnTime = chargerOnTime >> 1;
log_entry->lowPowerTime = lowPowerTime >> 1;
log_entry->unused[0] = 0x00;
log_entry->unused[1] = 0x00;
log_entry->unused[2] = 0x00;
Expand Down
4 changes: 2 additions & 2 deletions log.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

#define LOG_FILENAME "LOG "
#define LOG_EXTENSION "TXT"
#define LOG_PERIOD 450
#define LOG_PERIOD 30

/* Log structure *
* 32 bytes per entry, 1 entry every 7.5 minutes
Expand Down Expand Up @@ -43,7 +43,7 @@
* Bit 3: USB charging on
* Bit 2: Fan on
* Bit 1: USB connected
* Bit 0: unused
* Bit 0: User interface active
* Byte 31: Checksum: All other bytes XOR-ed
* ****************************************************************************/

Expand Down
9 changes: 0 additions & 9 deletions nbproject/Makefile-genesis.properties

This file was deleted.

13 changes: 0 additions & 13 deletions nbproject/Makefile-variables.mk

This file was deleted.

10 changes: 5 additions & 5 deletions os.c
Original file line number Diff line number Diff line change
Expand Up @@ -332,7 +332,7 @@ void system_init(void)

//Initialize variables
os.clockFrequency = CPU_FREQUENCY_48MHz;
os.boardVoltage = BOARD_VOLTAGE_LOW;
os.boardVoltage = BOARD_VOLTAGE_HIGH;
os.buckFrequency = BUCK_OFF;
os.buckDutyCycle = 0;
os.buckLastStep = -1;
Expand Down Expand Up @@ -398,12 +398,12 @@ void system_init(void)
//fat_format();

//Read from first file
file_number = fat_find_file(filename, extension);
fat_read_from_file(file_number, 5, 10, temp);
//file_number = fat_find_file(filename, extension);
//fat_read_from_file(file_number, 5, 10, temp);

//Append to second file
file_number = fat_find_file(filename2, extension2);
fat_append_to_file(file_number, 10, temp);
//file_number = fat_find_file(filename2, extension2);
//fat_append_to_file(file_number, 10, temp);

//fat_rename_file(file_number, filename2, extension2);

Expand Down

0 comments on commit 6a1074c

Please sign in to comment.