mirror of
https://github.com/dimoniche/solarium.vlad.git
synced 2026-01-29 20:43:31 +03:00
Исправление ошибок
This commit is contained in:
parent
b95caf200c
commit
650ba39500
17
.vscode/settings.json
vendored
17
.vscode/settings.json
vendored
@ -1,10 +1,11 @@
|
||||
{
|
||||
"files.associations": {
|
||||
"array": "c",
|
||||
"string": "c",
|
||||
"string_view": "c",
|
||||
"ranges": "c",
|
||||
"span": "c",
|
||||
"fram_map.h": "c"
|
||||
}
|
||||
"files.associations": {
|
||||
"array": "c",
|
||||
"string": "c",
|
||||
"string_view": "c",
|
||||
"ranges": "c",
|
||||
"span": "c",
|
||||
"fram_map.h": "c",
|
||||
"service_name.h": "c"
|
||||
}
|
||||
}
|
||||
@ -117,6 +117,8 @@ void IncSolarAbonementCounters(CPU_INT08U ch, CPU_INT08U mode, CPU_INT32U money,
|
||||
counters.solar_chm[ch * SOLAR_MODES_COUNT + mode].card_bonus += bonus;
|
||||
counters.solar_m[mode].card_bonus += bonus;
|
||||
|
||||
counters.abonement_money += money;
|
||||
|
||||
counters.checksum = crc16((unsigned char*)&counters, offsetof(SolarCounters, checksum));
|
||||
WriteArrayFram(offsetof(TFramMap, solar_counters), sizeof(SolarCounters), (unsigned char*)&counters);
|
||||
}
|
||||
@ -163,7 +165,7 @@ void IncSolarCounters(CPU_INT08U ch, CPU_INT08U mode, CPU_INT32U worktime, CPU_I
|
||||
|
||||
if(card == 2)
|
||||
{
|
||||
counters.abonement_money += money;
|
||||
//counters.abonement_money += money;
|
||||
}
|
||||
else if (card)
|
||||
{
|
||||
@ -920,10 +922,8 @@ void AppVladEventProcess(CPU_INT32U event)
|
||||
RefreshMenu();
|
||||
|
||||
abonement_data* data = get_abonement_data();
|
||||
SaveEventRecord(data->bonus, JOURNAL_EVENT_ABONEMENT_BALANCE, data->money);
|
||||
|
||||
TEventRecord record; // 18 + 4 = 22
|
||||
record.event = JOURNAL_EVENT_ABONEMENT_PAY_ACCEPTED; // +1
|
||||
record.event = JOURNAL_EVENT_ABONEMENT_BALANCE; // +1
|
||||
record.type_abonement = app_state.current_abonement; // +1
|
||||
record.money = 0; // +2
|
||||
record.bonus = 0; // +2
|
||||
@ -934,7 +934,6 @@ void AppVladEventProcess(CPU_INT32U event)
|
||||
|
||||
SaveEventAbonementRecord(&record);
|
||||
|
||||
|
||||
PlayMusicFile(41);
|
||||
}
|
||||
} else {
|
||||
@ -967,7 +966,7 @@ void AppVladEventProcess(CPU_INT32U event)
|
||||
|
||||
data->money += pay;
|
||||
data->bonus = bonus;
|
||||
data->best_before = best_before;
|
||||
data->best_before = time_before;
|
||||
data->type_abonement = app_state.current_abonement;
|
||||
|
||||
if(!write_mifare_card())
|
||||
@ -986,7 +985,7 @@ void AppVladEventProcess(CPU_INT32U event)
|
||||
record.type_abonement = app_state.current_abonement; // +1
|
||||
record.money = pay; // +2
|
||||
record.bonus = bonus; // +2
|
||||
record.time_before = best_before; // +4
|
||||
record.time_before = time_before; // +4
|
||||
record.number_abonement = data->number_abonement; // +4
|
||||
record.money_sum = data->money; // +2
|
||||
record.bonus_sum = data->bonus; // +2
|
||||
@ -2902,7 +2901,7 @@ void PrintWarning2Menu(void)
|
||||
{
|
||||
PrintUserMenuStrUnalign("Ïåðåä èñïîëüçîâàíèåì", 0);
|
||||
PrintUserMenuStrUnalign("ÀÂÒÎÌÀÒÀ íåîáõîäèìî", 1);
|
||||
PrintUserMenuStrUnalign(" îçíàêîìèòñÿ ", 2);
|
||||
PrintUserMenuStrUnalign(" îçíàêîìèòüñÿ ", 2);
|
||||
PrintUserMenuStrUnalign(" ñ åãî èíñòðóêöèåé", 3);
|
||||
}
|
||||
|
||||
|
||||
@ -125,7 +125,7 @@ void SaveEventAbonementRecord(TEventRecord * record)
|
||||
|
||||
record->time = GetTimeSec();
|
||||
|
||||
WriteArrayFram(offsetof(TFramMap, EventRecords[0])+journal_rec_index*sizeof(TEventRecord), sizeof(TEventRecord), (unsigned char*)&record);
|
||||
WriteArrayFram(offsetof(TFramMap, EventRecords[0])+journal_rec_index*sizeof(TEventRecord), sizeof(TEventRecord), (unsigned char*)record);
|
||||
|
||||
journal_rec_index = (journal_rec_index + 1) % EVENT_RECORDS_COUNT;
|
||||
|
||||
|
||||
41
PROJECT/app/service_name.c
Normal file
41
PROJECT/app/service_name.c
Normal file
@ -0,0 +1,41 @@
|
||||
#include "service_name.h"
|
||||
|
||||
char service_name[] = "Услуга загара в солярии";
|
||||
|
||||
char* get_service_name()
|
||||
{
|
||||
return service_name;
|
||||
}
|
||||
|
||||
// Returns the number of characters in an UTF-8 encoded string.
|
||||
// (Does not check for encoding validity)
|
||||
int u8strlen(const char *s)
|
||||
{
|
||||
int len=0;
|
||||
while (*s) {
|
||||
if ((*s & 0xC0) != 0x80) len++ ;
|
||||
s++;
|
||||
}
|
||||
return len;
|
||||
}
|
||||
|
||||
// Avoids truncating multibyte UTF-8 encoding at the end.
|
||||
char *u8strncpy(char *dest, const char *src, size_t n)
|
||||
{
|
||||
int k = n-1;
|
||||
int i;
|
||||
if (n) {
|
||||
dest[k] = 0;
|
||||
strncpy(dest,src,n);
|
||||
if (dest[k] & 0x80) { // Last byte has been overwritten
|
||||
for (i=k; (i>0) && ((k-i) < 3) && ((dest[i] & 0xC0) == 0x80); i--) ;
|
||||
switch(k-i) {
|
||||
case 0: dest[i] = '\0'; break;
|
||||
case 1: if ( (dest[i] & 0xE0) != 0xC0) dest[i] = '\0'; break;
|
||||
case 2: if ( (dest[i] & 0xF0) != 0xE0) dest[i] = '\0'; break;
|
||||
case 3: if ( (dest[i] & 0xF8) != 0xF0) dest[i] = '\0'; break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return dest;
|
||||
}
|
||||
13
PROJECT/app/service_name.h
Normal file
13
PROJECT/app/service_name.h
Normal file
@ -0,0 +1,13 @@
|
||||
#ifndef _SERVICE_NAME_H_
|
||||
#define _SERVICE_NAME_H_
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <ctype.h>
|
||||
|
||||
/// @brief Возвращаем имя услуги
|
||||
/// @return
|
||||
extern char* get_service_name();
|
||||
|
||||
#endif
|
||||
@ -10,6 +10,7 @@
|
||||
#include <string.h>
|
||||
#include "time.h"
|
||||
#include "ftp_app.h"
|
||||
#include "service_name.h"
|
||||
|
||||
static OS_STK TermTaskStk[TERM_TASK_STK_SIZE];
|
||||
|
||||
@ -562,7 +563,7 @@ void TermAppTask(void *p_arg)
|
||||
{
|
||||
uint32_t packet_len;
|
||||
char *content;
|
||||
char str[48];
|
||||
char str[32];
|
||||
|
||||
term_state = TERM_STATE_WAITING_PUR;
|
||||
term_command_new &= ~TERM_COMMAND_ABORT_PUR;
|
||||
@ -589,10 +590,8 @@ void TermAppTask(void *p_arg)
|
||||
// timeout
|
||||
packet_len += ttk2_tag_add(&content[packet_len], 0x06, "60", 1);
|
||||
|
||||
sprintf(str, "Óñëóãà çàãàðà â ñîëÿðèè");
|
||||
|
||||
// Product name
|
||||
packet_len += ttk2_tag_add(&content[packet_len], 0x0F, str, strlen(str));
|
||||
packet_len += ttk2_tag_add(&content[packet_len], 0x0F, get_service_name(), strlen(get_service_name()));
|
||||
|
||||
// äëèíà â ïàêåòå
|
||||
ttk2_tag_setlen(term_buffer, packet_len + 2);
|
||||
|
||||
@ -717,7 +717,7 @@ void OnChangeClearStatAbonementCmd(void)
|
||||
{
|
||||
while (1)
|
||||
{
|
||||
if (picc_read_card_serial())
|
||||
if (picc_is_new_card_present())
|
||||
{
|
||||
if (picc_read_card_serial())
|
||||
{
|
||||
@ -731,7 +731,7 @@ void OnChangeClearStatAbonementCmd(void)
|
||||
OSTimeDly(100);
|
||||
}
|
||||
|
||||
ClearStatAbonementCmd = 0;
|
||||
ClearStatAbonementCmd = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@ -6339,7 +6339,7 @@ CPU_INT08U const CounterSolarCardBonusName[] = "
|
||||
|
||||
TDataDescStruct const CounterSolarCardBonusDesc = {
|
||||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||||
DATA_TYPE_RUB_CENT, // òèï ïàðàìåòðà
|
||||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||||
CHANNELS_NUM * SOLAR_MODES_COUNT, // ðàçìåð ìàññèâà
|
||||
@ -6507,7 +6507,7 @@ CPU_INT08U const CounterModeCardBonusName[] = "
|
||||
|
||||
TDataDescStruct const CounterModeCardBonusDesc = {
|
||||
DATA_DESC_VIEW, // òèï äåñêðèïòîðà
|
||||
DATA_TYPE_RUB_CENT, // òèï ïàðàìåòðà
|
||||
DATA_TYPE_ULONG, // òèï ïàðàìåòðà
|
||||
DATA_LOC_FRAM, // ðàñïîëîæåíèå ïàðàìåòðà
|
||||
DATA_IS_ARRAY, // ïðèçíàê ìàññèâà
|
||||
SOLAR_MODES_COUNT, // ðàçìåð ìàññèâà
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
#if defined(BOARD_SOLARIUM_WEB)
|
||||
#define DEVICE_FW_VERSION "7.09"
|
||||
#elif defined(BOARD_SOLARIUM_VLAD)
|
||||
#define DEVICE_FW_VERSION "8.50"
|
||||
#define DEVICE_FW_VERSION "8.51"
|
||||
#elif defined(BOARD_CENTRAL_CARWASH) || defined(BOARD_POST_CARWASH)
|
||||
#define DEVICE_FW_VERSION "5.55"
|
||||
#endif
|
||||
|
||||
@ -25,7 +25,7 @@ if not "%~1" == "" goto debugFile
|
||||
|
||||
@echo on
|
||||
|
||||
"C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" --backend -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
|
||||
"C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" --backend -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
|
||||
|
||||
@echo off
|
||||
goto end
|
||||
@ -34,7 +34,7 @@ goto end
|
||||
|
||||
@echo on
|
||||
|
||||
"C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" "--debug_file=%~1" --backend -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
|
||||
"C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" "--debug_file=%~1" --backend -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
|
||||
|
||||
@echo off
|
||||
:end
|
||||
@ -23,9 +23,9 @@
|
||||
|
||||
if ($debugfile -eq "")
|
||||
{
|
||||
& "C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" --backend -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
|
||||
& "C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" --backend -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
|
||||
}
|
||||
else
|
||||
{
|
||||
& "C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" --debug_file=$debugfile --backend -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
|
||||
& "C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" --debug_file=$debugfile --backend -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
"C:\Program Files\IAR Systems\Embedded Workbench 9.0\arm\bin\armJLINK.dll"
|
||||
|
||||
"C:\work\solarium.vlad\Solarium Vlad\Exe\sk_mlpc2368.out"
|
||||
"C:\git_work\solarium.vlad\Solarium Vlad\Exe\sk_mlpc2368.out"
|
||||
|
||||
--plugin="C:\Program Files\IAR Systems\Embedded Workbench 9.0\arm\bin\armbat.dll"
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
2828
sk-mlpc2368.dep
2828
sk-mlpc2368.dep
File diff suppressed because it is too large
Load Diff
@ -5003,7 +5003,7 @@
|
||||
</option>
|
||||
<option>
|
||||
<name>OOCOutputFile</name>
|
||||
<state>solarium_vlad_8_50.hex</state>
|
||||
<state>solarium_vlad_8_51.hex</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>OOCCommandLineProducer</name>
|
||||
@ -5835,6 +5835,12 @@
|
||||
<file>
|
||||
<name>$PROJ_DIR$\PROJECT\app\modem_task.h</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\PROJECT\app\service_name.c</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\PROJECT\app\service_name.h</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\PROJECT\app\term_tsk.c</name>
|
||||
<excluded>
|
||||
|
||||
@ -7498,6 +7498,12 @@
|
||||
<file>
|
||||
<name>$PROJ_DIR$\PROJECT\app\modem_task.h</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\PROJECT\app\service_name.c</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\PROJECT\app\service_name.h</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\PROJECT\app\term_tsk.c</name>
|
||||
</file>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user