Strona główna Menedżer plików Projekty Projekty Webowe Dla administratora O serwerze O mnie

Projekt CANgauge CANgauge Project

P: Q: Przecież ta strona wygląda jakby ją zrobiła AI. This page looks like it was made by an AI.

O: A: Zgadza się. That's correct.

kontakt: facebook

CANgauge to projekt kompaktowego wyświetlacza parametrów, który zbudowałem z myślą o entuzjastach motorsportu i projektów DIY. Bazuje on na platformie Raspberry Pi Pico, co pozwoliło mi stworzyć w pełni konfigurowalne i otwarte urządzenie. CANgauge is a compact parameter display project that I built for motorsport and DIY enthusiasts. It is based on the Raspberry Pi Pico platform, which allowed me to create a fully configurable and open device.

Zdjęcie urządzenia CANgauge

Pobierz Kompletny Pakiet v2.0.2 Download Complete Bundle v2.0.2

Wszystko, czego potrzebujesz, aby w pełni wykorzystać potencjał swojego CANgauge. Everything you need to fully utilize the potential of your CANgauge.

Nowości w wersji 2.0.2: What's new in version 2.0.2:
  • Naprawiono błąd: Usunięto fałszywe zgłoszenia o rozbieżności konfiguracji między aplikacją a urządzeniem.Bug Fix: Fixed false reports of configuration mismatch between the application and the device.
  • Nowa funkcja: Dodano tryb pracy offline, pozwalający tworzyć konfigurację bez podłączonego urządzenia.New Feature: Added an offline mode, allowing configuration creation without a connected device.
  • Nowa funkcja: Utworzono angielską wersję językową aplikacji konfiguracyjnej.New Feature: An English language version of the configurator application is now available.
W środku znajdziesz kompletny zestaw startowy: Inside you will find a complete starter kit:
  • CANgauge_Configurator.v2.0.2_PL.exe - Aplikacja konfiguracyjna (PL). - Configurator Application (PL).
  • CANgauge_Configurator.v2.0.2_EN.exe - Aplikacja konfiguracyjna (EN). - Configurator Application (EN).
  • cangauge_firmware_v2.0.1.uf2 - Oprogramowanie dla urządzenia. - Firmware for the device.
  • CANgauge_v2.0.0_factory_settings.json - Plik z gotową konfiguracją dla RusEFI. - File with a ready configuration for RusEFI.
  • rusEFI_CAN_verbose.dbc - Plik definicji CAN dla RusEFI. - CAN definition file for RusEFI.
  • emu black.dbc - Plik definicji CAN dla ECUmaster EMU Black. - CAN definition file for ECUmaster EMU Black.
  • /icons - Folder z zestawem ikon startowych. - Folder with a set of starter icons.
Pobierz CANgauge_bundle_v2.0.2.zip Download CANgauge_bundle_v2.0.2.zip

Pierwsze Uruchomienie - Konfiguracja w 3 Krokach First Start - Configuration in 3 Steps

Aby w pełni przygotować urządzenie do pracy z nowym oprogramowaniem v2.0, postępuj zgodnie z poniższą instrukcją. To fully prepare the device for use with the new v2.0 software, follow the instructions below.

  1. Aktualizacja Firmware Urządzenia:Device Firmware Update: To podstawa do działania nowych funkcji. This is essential for new features to work.
    • Odłącz CANgauge od zasilania. Naciśnij i przytrzymaj przycisk "BOOTSEL" na płytce.Disconnect CANgauge from power. Press and hold the "BOOTSEL" button on the board.
    • Trzymając przycisk, podłącz urządzenie do komputera kablem USB. Pojawi się dysk "RPI-RP2".While holding the button, connect the device to your computer with a USB cable. A disk named "RPI-RP2" will appear.
    • Przeciągnij i upuść pobrany plik .uf2 na dysk "RPI-RP2". Urządzenie zaktualizuje się i uruchomi ponownie.Drag and drop the downloaded .uf2 file onto the "RPI-RP2" disk. The device will update and restart automatically.
  2. Wgranie Ustawień Fabrycznych:Uploading Factory Settings: Ten krok przygotuje urządzenie i skonfiguruje podstawowe parametry. This step prepares the device and configures basic parameters.
    • Uruchom aplikację konfiguracyjną i połącz się z urządzeniem.Launch the configurator application and connect to the device.
    • W zakładce "Konfiguracja Parametrów" kliknij przycisk "📁 Wczytaj z pliku JSON...".In the "Parameter Configuration" tab, click the "📁 Load from JSON file..." button.
    • Wybierz plik CANgauge_v2.0.0_factory_settings.json z pobranego pakietu.Select the CANgauge_v2.0.0_factory_settings.json file from the downloaded bundle.
    • Po wczytaniu, kliknij główny przycisk "📤 Synchronizuj Zmiany", a następnie "💾 Zapisz w EEPROM".After loading, click the main "📤 Synchronize Changes" button, followed by "💾 Save to EEPROM".
  3. Hurtowy Import Ikon:Bulk Icon Import: Wgrajmy zestaw startowych ikon dla skonfigurowanych parametrów. Let's upload the starter set of icons for the configured parameters.
    • W zakładce "Konfiguracja Parametrów" kliknij "🖼️ Importuj Wiele Ikon...".In the "Parameter Configuration" tab, click "🖼️ Import Multiple Icons...".
    • W nowym oknie kliknij "📁 Wybierz folder z ikonami..." i wskaż folder icons z pobranego pakietu.In the new window, click "📁 Select icon folder..." and point to the icons folder from the downloaded bundle.
    • Aplikacja automatycznie przypisze ikony do parametrów. Kliknij "✅ Rozpocznij import".The application will automatically assign icons to parameters. Click "✅ Start import".

Twoje urządzenie jest teraz w pełni skonfigurowane i gotowe do personalizacji oraz podłączenia do magistrali CAN! Your device is now fully configured and ready for personalization and connection to the CAN bus!

Przegląd Funkcji Konfiguratora v2.0 Configurator v2.0 Feature Overview

Nowa aplikacja to centrum dowodzenia Twojego CANgauge. Interfejs oparty na zakładkach zapewnia intuicyjny dostęp do wszystkich, nawet najbardziej zaawansowanych opcji. The new application is the command center for your CANgauge. The tab-based interface provides intuitive access to all options, even the most advanced ones.

Edytor Parametrów - Pełna Kontrola Parameter Editor - Full Control

Dwukrotne kliknięcie na dowolny parametr otwiera zaawansowany edytor, który daje Ci władzę nad każdym aspektem jego działania i wyglądu. Został on podzielony na trzy logiczne sekcje: Double-clicking on any parameter opens an advanced editor that gives you power over every aspect of its operation and appearance. It has been divided into three logical sections:

Zakładka Ogólne i Źródło Danych

Ogólne i Źródło Danych General & Data Source

  • CAN ID / Ramka RozszerzonaExtended Frame: Identyfikator ramki (HEX). Zaznacz pole EXT, aby nasłuchiwać ramek 29-bitowych. Frame identifier (HEX). Check the EXT box to listen for 29-bit frames.
  • Bit startowy / Długość bitowa:Start Bit / Bit Length: Precyzyjna lokalizacja danych. Precise data location.
  • Wgraj Ikonę:Upload Icon: Obraz jest automatycznie skalowany do 50x50px i konwertowany do formatu RGB565. Ważne: kolor czarny (#000000) jest traktowany jako przezroczysty. The image is automatically scaled to 50x50px and converted to RGB565 format. Important: the color black (#000000) is treated as transparent.
  • Little Endian: Określa kolejność bajtów. Zaznacz, jeśli najmniej znaczący bajt jest pierwszy. Defines the byte order. Check if the least significant byte comes first.
  • Wartość ze znakiem:Signed Value: Interpretuje dane jako liczby ujemne i dodatnie. Interprets the data as negative and positive numbers.
  • Skala / Offset:Scale / Offset: Stosuje wzór: wartość = (dane * skala) + offset. Applies the formula: value = (data * scale) + offset.
Zakładka Wyświetlanie

Wyświetlanie Display

  • Precyzja:Precision: Liczba miejsc po przecinku. Number of decimal places.
  • Specjalne warunki wyświetlania:Special Display Conditions: Zastępuje wartość liczbową predefiniowanym tekstem (np. "OK", "Błąd"), gdy wartość znajdzie się w podanym zakresie. Replaces a numerical value with predefined text (e.g., "OK", "Error") when the value falls within a specified range.
Zakładka Alarmy

Alarmy Alarms

Niezbędne do działania alarmów! Required for Alarms to Work!

Aby alarmy działały poprawnie, w zakładce 'Ustawienia Ogólne' musisz wskazać, który parametr odpowiada za obroty silnika (RPM). Alarmy są celowo dezaktywowane poniżej pewnego progu obrotów (aby uniknąć fałszywych ostrzeżeń na postoju). Jeśli żaden parametr nie jest ustawiony jako RPM, system przyjmuje wartość zero, co permanentnie wyłącza wszystkie alarmy. For alarms to function correctly, you must specify which parameter corresponds to engine speed (RPM) in the 'General Settings' tab. Alarms are intentionally deactivated below a certain RPM threshold (to avoid false warnings when stationary). If no parameter is set as RPM, the system assumes a value of zero, which permanently disables all alarms.

  • Progi Główne:Main Thresholds: Cztery progi dla Ostrzeżenia (żółty kolor) i Alarmu (czerwony kolor). Four thresholds for Warning (yellow color) and Alarm (red color).
  • Alarmy zależne:Dependent Alarms: Aktywuje dwa niezależne zestawy progów (A i B). Activates two independent sets of thresholds (A and B).
  • Parametr nadrzędny:Parent Parameter: Wybierz parametr (np. RPM), którego wartość będzie decydować o użyciu zestawu progów A lub B. Jest to przydatne do ustawienia różnych progów np. temperatury oleju dla niskich i wysokich obrotów silnika. Select a parameter (e.g., RPM) whose value will determine whether to use threshold set A or B. This is useful for setting different thresholds, for instance, for oil temperature at low and high engine speeds.
  • Próg przełączenia:Switching Threshold: Wartość parametru nadrzędnego, która przełącza progi. The value of the parent parameter that switches between the thresholds.

Expander Wejść/Wyjść - Pinout i Charakterystyka I/O Expander - Pinout and Characteristics

CANgauge wyposażony jest w złącze rozszerzeń, które udostępnia dodatkowe wejścia i wyjścia, zwiększając możliwości integracji z czujnikami i urządzeniami wykonawczymi w pojeździe. Poniżej znajduje się opis pinów oraz ich charakterystyka elektryczna.CANgauge is equipped with an expansion connector that provides additional inputs and outputs, increasing the possibilities of integration with sensors and actuators in the vehicle. Below is a description of the pins and their electrical characteristics.

Pinout złącz CANgauge

Wejścia Cyfrowe (DI0-DI3) Digital Inputs (DI0-DI3)

  • Pracują w logice 3,3V, ale są w pełni tolerancyjne na sygnały 12V, co pozwala na bezpieczne podłączenie do większości instalacji samochodowych.They operate on 3.3V logic but are fully 12V tolerant, allowing safe connection to most automotive installations.
  • Posiadają wbudowane rezystory podciągające (pull-up) do 5V.They have built-in 5V pull-up resistors.
  • Aby podłączyć przycisk lub przełącznik, wystarczy wpiąć go między pin wejściowy a masę (GND) systemu.To connect a button or switch, simply connect it between the input pin and the system's ground (GND).

Wejścia Analogowe (AI0-AI1) Analog Inputs (AI0-AI1)

  • Przeznaczone do pomiaru napięcia w zakresie do ok. 5V.Designed to measure voltage in the range up to approx. 5V.
  • Wartość jest odczytywana przez 12-bitowy przetwornik ADC, a następnie surowy wynik (w zakresie 0-4095) jest wysyłany na magistralę CAN w celu dalszej obróbki.The value is read by a 12-bit ADC, and the raw result (in the range 0-4095) is sent over the CAN bus for further processing.

Wyjścia Cyfrowe (DO0-DO1) Digital Outputs (DO0-DO1)

  • Są to wyjścia typu "Open Drain" (otwarty dren), zwierające do masy (GND).These are "Open Drain" outputs, switching to ground (GND).
  • Maksymalna obciążalność prądowa wynosi 100mA.The maximum current capacity is 100mA.
Uwaga na obciążenia indukcyjne! Beware of inductive loads!

Przy podłączaniu przekaźnika, jego cewkę KONIECZNIE należy zabezpieczyć diodą gaszącą (np. 1N4007) wpiętą równolegle, zaporowo do kierunku przepływu prądu. Brak tej diody spowoduje powstanie szkodliwych przepięć podczas wyłączania cewki, co nieodwracalnie uszkodzi tranzystor wyjściowy.When connecting a relay, its coil MUST be protected with a flyback diode (e.g., 1N4007) connected in parallel, reverse-biased to the current flow. The absence of this diode will cause harmful voltage spikes when the coil is switched off, which will irreversibly damage the output transistor.

Dioda nie jest wbudowana celowo, aby umożliwić sterowanie przekaźnikami, których cewka jest na stałe podłączona do +12V. W takim przypadku wbudowana dioda powodowałaby zasilanie się urządzenia "wstecz" przez cewkę przekaźnika przy wyłączonym zasilaniu głównym.The diode is not built-in intentionally, to allow control of relays whose coil is permanently connected to +12V. In such a case, a built-in diode would cause the device to be powered "backwards" through the relay coil when the main power is off.

Pełna Obsługa Ramek 29-bit (Extended ID) Full Support for 29-bit Frames (Extended ID)

Wraz z wersją 2.0, CANgauge zyskuje pełne wsparcie dla rozszerzonych 29-bitowych ramek CAN (Extended ID), obok standardowych 11-bitowych. Jest to kluczowa funkcja dla integracji z bardziej złożonymi systemami, w tym z magistralami danych spotykanymi w nowoczesnych pojazdach (np. w oparciu o standard J1939).With version 2.0, CANgauge gains full support for extended 29-bit CAN frames (Extended ID), alongside standard 11-bit frames. This is a key feature for integration with more complex systems, including data buses found in modern vehicles (e.g., based on the J1939 standard).

Konfiguracja CAN Expander z użyciem ramek Extended ID

Obsługa rozszerzonych identyfikatorów jest niezwykle prosta. Zarówno podczas konfiguracji parametrów wyświetlacza, jak i w zakładce CAN Expander, wystarczy zaznaczyć pole wyboru EXT obok pola CAN ID. Od tego momentu urządzenie będzie nasłuchiwać lub wysyłać ramki o 29-bitowym identyfikatorze.Handling extended identifiers is extremely simple. Both when configuring display parameters and in the CAN Expander tab, you just need to check the EXT box next to the CAN ID field. From that moment, the device will listen for or send frames with a 29-bit identifier.

Przykład zastosowania w CAN Expanderze:Example of use in the CAN Expander: Powyższy zrzut ekranu demonstruje, jak wejścia i wyjścia cyfrowe mogą być powiązane z ramkami o rozszerzonym ID. The screenshot above demonstrates how digital inputs and outputs can be linked to frames with an extended ID.
  • Na konfiguracji po prawej stronie widać, że wejście cyfrowe DI 0 jest skonfigurowane do odczytu bitu 0 z ramki o ID 0x18F00401, co jest typowym adresem w standardzie J1939.In the configuration on the right, you can see that digital input DI 0 is configured to read bit 0 from the frame with ID 0x18F00401, which is a typical address in the J1939 standard.
  • Z kolei wejścia DI 2 i DI 3 nasłuchują na bity 0 i 1 z ramki 0xCAFFE00.In turn, inputs DI 2 and DI 3 are listening for bits 0 and 1 from the frame 0xCAFFE00.
Ta elastyczność pozwala na odczytywanie statusów (np. włączone światła, aktywny tempomat) bezpośrednio z fabrycznych modułów pojazdu i wysyłanie tych informacji dalej lub reagowanie na nie za pomocą wyjść cyfrowych urządzenia.This flexibility allows reading statuses (e.g., lights on, cruise control active) directly from the vehicle's factory modules and sending this information further or reacting to it using the device's digital outputs.

Pełna obsługa obu standardów ID sprawia, że CANgauge jest uniwersalnym narzędziem, gotowym do pracy zarówno w prostych projektach hobbystycznych, jak i w zaawansowanych instalacjach motoryzacyjnych.Full support for both ID standards makes CANgauge a universal tool, ready for work in both simple hobby projects and advanced automotive installations.

Synchronizacja i Zapis - Zrozumienie Procesu Synchronization and Saving - Understanding the Process

Zrozumienie różnicy między synchronizacją a zapisem do pamięci stałej jest kluczowe dla poprawnej obsługi urządzenia. Aplikacja posiada wbudowane zabezpieczenia, aby zapobiec przypadkowej utracie ustawień.Understanding the difference between synchronization and saving to permanent memory is crucial for proper device operation. The application has built-in safeguards to prevent accidental loss of settings.

  • Zmiany natychmiastowe:Instant Changes: Większość pojedynczych zmian (np. aktywacja parametru, zmiana koloru, modyfikacja progu alarmowego) jest wysyłana do pamięci RAM urządzenia natychmiast po ich dokonaniu w interfejsie. Most individual changes (e.g., activating a parameter, changing a color, modifying an alarm threshold) are sent to the device's RAM immediately after they are made in the interface.
  • Przycisk ten wysyła całą, kompletną konfigurację z aplikacji do pamięci RAM urządzenia. Jest to konieczne głównie po operacjach, które nie są wysyłane natychmiast, takich jak zmiana kolejności parametrów lub załadowanie ustawień z pliku. This button sends the entire, complete configuration from the application to the device's RAM. It is mainly necessary after operations that are not sent immediately, such as changing the order of parameters or loading settings from a file.
  • Instruuje urządzenie, aby zapisało swoją aktualną konfigurację z pamięci RAM do pamięci stałej (EEPROM). Dzięki temu ustawienia przetrwają odłączenie zasilania. Instructs the device to save its current configuration from RAM to permanent memory (EEPROM). This ensures that the settings will survive a power outage.
Inteligentna Ochrona Przed Zapisem:Smart Save Protection: Przed zapisem do EEPROM, aplikacja automatycznie porównuje konfigurację z aplikacji z tą w pamięci RAM urządzenia. Jeśli wykryje różnice, wyświetli okno z pytaniem: Before saving to EEPROM, the application automatically compares the configuration from the application with the one in the device's RAM. If it detects differences, it will display a dialog box asking:
  • TAK:YES: Najpierw zsynchronizuj zmiany (wyślij je do urządzenia), a następnie zapisz. First, synchronize the changes (send them to the device), and then save.
  • NIE:NO: Odrzuć zmiany w aplikacji i zapisz w EEPROM wersję, która jest aktualnie w urządzeniu. Discard the changes in the application and save the version that is currently in the device to EEPROM.
  • ANULUJ:CANCEL: Przerwij operację zapisu. Cancel the save operation.
To zabezpieczenie chroni przed przypadkowym nadpisaniem niezsynchronizowanych zmian.This safeguard protects against accidentally overwriting unsynchronized changes.

Archiwum Wersji (Starsze oprogramowanie) Version Archive (Older Software)

Uwaga:Note: Poniższe wersje oprogramowania nie są w pełni kompatybilne między sobą. Używaj ich tylko, jeśli masz konkretny powód. The software versions below are not fully compatible with each other. Use them only if you have a specific reason.

Archiwalne Pakiety "Bundle" (rodzina v2.x) Archived "Bundle" Packages (v2.x family)

WersjaVersion Opis zmianChangelog PobierzDownload
2.0.1 Naprawiono błąd, w którym alarmy nie działały, gdy parametr RPM nie był wyświetlany. Umożliwiono też ustawienie zależności alarmu od parametru, który nie jest widoczny na ekranie. Fixed a bug where alarms would not trigger if the RPM parameter was not displayed. Also allows setting alarm dependency on a parameter not currently on screen. Pobierz .zip
2.0.0 Pierwsza, początkowa wersja oprogramowania z rodziny 2.0. The first, initial release of the 2.0 software family. Pobierz .zip

Archiwalne wersje Aplikacji (rodzina v1.x) Archived Application Versions (v1.x family)

WersjaVersionPobierz AplikacjęDownload Application
1.2.0 Pobierz .exe
1.0.1 Pobierz .exe

Archiwalne wersje Firmware (rodzina v1.x) Archived Firmware Versions (v1.x family)

WersjaVersionPobierz FirmwareDownload Firmware
1.3.0 Pobierz .uf2
1.2.1 Pobierz .uf2

« Wróć do listy projektów « Back to the project list