An open API service providing repository metadata for many open source software ecosystems.

GitHub topics: can-bus

mwkpe/cantools

A collection of CLI tools for the CAN bus network

Language: C++ - Size: 63.5 KB - Last synced at: about 2 months ago - Pushed at: over 3 years ago - Stars: 21 - Forks: 2

tsabelmann/canviewer

canviewer is a can-bus analysis software application. It is based on SocketCan and uses *.json files to decode specific can-bus message having a specific ID.

Language: C++ - Size: 26.4 KB - Last synced at: about 1 month ago - Pushed at: over 3 years ago - Stars: 11 - Forks: 3

msalau/dbc-parser

A Flex/Bison/Lemon parser of DBC files

Language: C - Size: 186 KB - Last synced at: 4 days ago - Pushed at: about 3 years ago - Stars: 9 - Forks: 4

shmink/keyTime

Analyse timing leakage against ECU over the CAN bus network.

Language: C - Size: 6.58 MB - Last synced at: 29 days ago - Pushed at: over 6 years ago - Stars: 3 - Forks: 1

20yyq/can-isotp

golang network can bus isotp protocol

Language: Go - Size: 26.4 KB - Last synced at: about 2 months ago - Pushed at: 4 months ago - Stars: 1 - Forks: 0

ttzntech/ttzn_sdk

C++ SDK for TTZN chassis to control it and recv info back

Language: C++ - Size: 90.8 KB - Last synced at: 4 months ago - Pushed at: 4 months ago - Stars: 2 - Forks: 1

racerxdl/picohome

Raspberry Pi Pico Home Automation using CAN Bus

Size: 1.93 MB - Last synced at: 3 months ago - Pushed at: about 2 years ago - Stars: 89 - Forks: 6

mxcd/CANnon

A versatile CAN bootloader for the STM32 and friends

Language: C - Size: 4.51 MB - Last synced at: 4 days ago - Pushed at: over 7 years ago - Stars: 17 - Forks: 4

deltaphi/RR32CanController

Sketch for a Switchboard talking the CAN CS2 protocol based on the ESP32 NodeMCU-Board

Language: C++ - Size: 1.55 MB - Last synced at: 4 months ago - Pushed at: 4 months ago - Stars: 2 - Forks: 1

lucasdietrich/zephyr-caniot-controller

Personal gateway/controller for CAN/BLE devices supporting CANIOT custom application protocol. Based on nucleo_f429zi and Zephyr RTOS.

Language: C - Size: 2.71 MB - Last synced at: 2 months ago - Pushed at: 6 months ago - Stars: 11 - Forks: 1

mcejp/Ocarina

Open Hardware USB-CAN interface

Language: C++ - Size: 3.27 MB - Last synced at: 3 days ago - Pushed at: about 4 years ago - Stars: 7 - Forks: 0

TheMatjaz/VCAN

VCAN is a tiny virtual CAN and CAN-FD bus library in C

Language: C - Size: 165 KB - Last synced at: 4 days ago - Pushed at: about 5 years ago - Stars: 16 - Forks: 3

nopnop2002/esp-idf-can2mqtt

CANbus to mqtt bridge using esp32

Language: C - Size: 52.7 KB - Last synced at: about 1 month ago - Pushed at: 5 months ago - Stars: 44 - Forks: 9

OpenCyphal-Garage/gui_tool 📦

Legacy cross-platform GUI application for UAVCAN/CAN v0 bus management and diagnostics. Does not support UAVCAN v1; for that, see Yukon.

Language: Python - Size: 673 KB - Last synced at: 3 months ago - Pushed at: about 3 years ago - Stars: 86 - Forks: 53

kobolt/usb-can

USB-CAN Analyzer Linux Support

Language: C - Size: 36.1 KB - Last synced at: 5 months ago - Pushed at: 5 months ago - Stars: 61 - Forks: 35

Ozyegin-Planetary-Robotics-Laboratory/tmotorcan-cpp

A lightweight C++ library for controlling AK series servo motors.

Language: C++ - Size: 98.6 KB - Last synced at: 5 months ago - Pushed at: 5 months ago - Stars: 0 - Forks: 2

uhi22/IoniqMotorCAN

CAN bus node for Hyundai Ioniq motor CAN

Language: AGS Script - Size: 24.8 MB - Last synced at: about 1 month ago - Pushed at: almost 2 years ago - Stars: 9 - Forks: 3

srenner/carfuino

[Arduino] Automotive performance computer with Megasquirt integration

Language: C++ - Size: 33.2 KB - Last synced at: 15 days ago - Pushed at: over 6 years ago - Stars: 3 - Forks: 2

majbthrd/CANsniffer

CANbus sniffer using STM32F042 microcontroller

Language: C - Size: 206 KB - Last synced at: 2 months ago - Pushed at: over 7 years ago - Stars: 30 - Forks: 10

adamczykpiotr/STM32duino_CAN_Library

CanBus library for STM32F103 running on STM32duino

Language: C++ - Size: 4.88 KB - Last synced at: 4 days ago - Pushed at: almost 4 years ago - Stars: 9 - Forks: 4

gbmhunter/LinuxCanBus

Language: C++ - Size: 35.2 KB - Last synced at: about 1 month ago - Pushed at: almost 6 years ago - Stars: 13 - Forks: 5

jonlamb-gh/oxcc

A port of Open Source Car Control written in Rust

Language: Rust - Size: 228 KB - Last synced at: about 1 month ago - Pushed at: over 6 years ago - Stars: 20 - Forks: 5

martonn98/VolvoP2_CAN

Discover CAN Bus commands on Volvo P2 platform

Language: C++ - Size: 447 KB - Last synced at: 3 months ago - Pushed at: over 2 years ago - Stars: 17 - Forks: 3

eagletrt/invlib

Reading, parsing and serializing Inverter (Unitek Bamocar) data.

Language: C - Size: 55.7 KB - Last synced at: 6 months ago - Pushed at: 6 months ago - Stars: 0 - Forks: 0

WassimHedfi/CAN_Protocol_STM32f446re_V_STM32f407G

This project implements two-way communication between STM32F446RE and STM32F407G microcontrollers using the CAN protocol.

Language: C - Size: 7.96 MB - Last synced at: about 2 months ago - Pushed at: 6 months ago - Stars: 0 - Forks: 0

tsabelmann/cantools-rs

Rust crate for analyzing CAN-bus data using messages and signals.

Language: Rust - Size: 144 KB - Last synced at: about 1 month ago - Pushed at: almost 3 years ago - Stars: 6 - Forks: 0

onitake/canhat

Raspberry Pi CAN extension board

Language: Makefile - Size: 1.27 MB - Last synced at: about 1 month ago - Pushed at: over 1 year ago - Stars: 12 - Forks: 4

adom-inc/slcan_fd

Serial line CAN interface implementation in Rust with support for CAN FD

Language: Rust - Size: 20.5 KB - Last synced at: 6 months ago - Pushed at: 6 months ago - Stars: 1 - Forks: 0

c3re/can2mqtt

CAN-Bus -- MQTT bridge: bidirectional, configurable and extendable

Language: Go - Size: 203 KB - Last synced at: 6 months ago - Pushed at: 6 months ago - Stars: 84 - Forks: 22

Neuroquila-n8fall/JunkersControl

Make your Junkers heating even smarter!

Language: C++ - Size: 1.16 MB - Last synced at: 6 months ago - Pushed at: 6 months ago - Stars: 23 - Forks: 3

kiranj26/CAN-Log-Parser

This repository contains a Python-based tool to parse DBC formatted CAN log files and plot the signals. It leverages cantools for parsing DBC files and matplotlib for plotting signals, providing an easy way to visualize CAN signal data.

Language: Python - Size: 1.44 MB - Last synced at: 29 days ago - Pushed at: 6 months ago - Stars: 2 - Forks: 2

ufnalski/peugeot_308_t9_cluster_g431kb

Peugeot 308 T9 instrument panel cluster hacking (STM32/HAL).

Language: C - Size: 954 KB - Last synced at: 6 months ago - Pushed at: 6 months ago - Stars: 0 - Forks: 0

linux-automation/lxa-iobus

Linux Automation IOBus server

Language: JavaScript - Size: 1.6 MB - Last synced at: 18 days ago - Pushed at: 11 months ago - Stars: 4 - Forks: 4

morcibacsi/PSACANBridge

A gateway software to convert Peugeot's and Citroen's AEE2004/2007 to AEE2010

Language: C - Size: 1.57 MB - Last synced at: 6 months ago - Pushed at: 6 months ago - Stars: 16 - Forks: 5

jmscslgroup/libpanda

A C++ library that handle communication with a comma.ai Panda interface device.

Language: HTML - Size: 91.5 MB - Last synced at: 6 months ago - Pushed at: 6 months ago - Stars: 18 - Forks: 11

Laerdal/canfestival-laerdal Fork of Laerdal/canfestival-3-asc

Open source implementation of the CANopen protocol

Language: C - Size: 49.3 MB - Last synced at: 6 months ago - Pushed at: 6 months ago - Stars: 2 - Forks: 1

pierremolinaro/can20B-plugin-for-saleae-logic-analyzer

CAN 2.0B Plugin for Saleae Logic Analyzers

Language: C++ - Size: 10.2 MB - Last synced at: about 1 month ago - Pushed at: 8 months ago - Stars: 13 - Forks: 5

20yyq/can-debugger

golang network can bus

Language: Go - Size: 19.5 KB - Last synced at: about 2 months ago - Pushed at: over 1 year ago - Stars: 0 - Forks: 0

cvra/can-bootloader

The bootloader used to flash our CAN-connected boards

Language: C - Size: 383 KB - Last synced at: about 2 months ago - Pushed at: over 2 years ago - Stars: 146 - Forks: 52

dancesWithMachines/Instrument-Cluster-control-board

The board that allows controlling instrument clusters with x25 (or similar) stepper motors using only Arduino.

Language: C++ - Size: 17.8 MB - Last synced at: 4 months ago - Pushed at: 6 months ago - Stars: 3 - Forks: 0

TuEmb/can-viewer-rs

view the can value mapping with DBC (Rust + Slint)

Language: Rust - Size: 449 KB - Last synced at: 19 days ago - Pushed at: 8 months ago - Stars: 7 - Forks: 3

kuba2k2/CDCEmu

AVR CD Changer emulator for Citroen/Peugeot cars using CAN bus.

Language: C - Size: 3.45 MB - Last synced at: about 1 month ago - Pushed at: about 2 years ago - Stars: 12 - Forks: 0

ufnalski/citroen_c5_cluster_g431kb

Citroen C5 II (2011) instrument panel cluster hacking with STM32/HAL.

Language: C - Size: 560 KB - Last synced at: 7 months ago - Pushed at: 7 months ago - Stars: 0 - Forks: 0

nisennenmondai/libwecan

Library in C to encode/decode CAN signals.

Language: C - Size: 31.3 KB - Last synced at: 4 days ago - Pushed at: about 2 years ago - Stars: 22 - Forks: 4

mjforan/gm6020_can

Linux SocketCAN driver for DJI GM6020 motor

Language: Rust - Size: 6.83 MB - Last synced at: 7 months ago - Pushed at: 7 months ago - Stars: 0 - Forks: 0

rajashree-srikanth/flexible-wing-electronics

Blueprints for electronics for flexible wing mockup - Altium PCB designs.

Size: 3.01 MB - Last synced at: 6 months ago - Pushed at: 7 months ago - Stars: 0 - Forks: 0

kevenduchesneau/racechrono-diy-esp32

A Bluetooth DIY CAN-BUS reader based on the ESP32 S3 variant, built on Arduino

Language: C++ - Size: 2.2 MB - Last synced at: about 2 months ago - Pushed at: 8 months ago - Stars: 2 - Forks: 0

adamczykpiotr/linux-canbus-cpp

Small & easy to use wrapper library for CAN & CAN-FD

Language: C++ - Size: 7.81 KB - Last synced at: 2 months ago - Pushed at: over 1 year ago - Stars: 3 - Forks: 0

adlerweb/asysbus

Arduino System Bus

Language: C++ - Size: 178 KB - Last synced at: 7 days ago - Pushed at: 11 months ago - Stars: 27 - Forks: 16

bmc-labs/usb-can

Device to connect to a CAN bus from a Linux / Windows / macOS device

Language: C - Size: 39 MB - Last synced at: 29 days ago - Pushed at: over 2 years ago - Stars: 9 - Forks: 0

medo64/Cananka

CAN bus interface

Size: 4.3 MB - Last synced at: 6 months ago - Pushed at: 6 months ago - Stars: 13 - Forks: 1

mc-cat-tty/windarab_player

Language: Python - Size: 142 KB - Last synced at: 2 days ago - Pushed at: 9 months ago - Stars: 0 - Forks: 0

CelilSincanli/socketcanfd

SocketCANFD is a C++ library for seamless communication over CAN FD using the Linux SocketCAN framework. It supports all CAN adapters recognized by Linux and offers configurable settings via a YAML file. Ideal for automotive and industrial applications, it enables efficient reading and writing of high-speed CAN FD messages.

Language: C++ - Size: 16.6 KB - Last synced at: 9 months ago - Pushed at: 9 months ago - Stars: 0 - Forks: 0

mohammedhassan9748/Embedded-Diploma

The Learn In Depth Embedded Diploma enhanced my expertise in C programming, Embedded C, microcontroller peripherals like GPIO, UART, SPI, I2C, TIMERS, and ADC. Additionally, I gained proficiency in automotive communication protocols such as CAN and Ethernet. Developed Linker scripts, Startup code, Makefiles, and RTOS custom scheduler from scratch.

Language: C - Size: 8.96 MB - Last synced at: 9 months ago - Pushed at: 9 months ago - Stars: 2 - Forks: 0

killinen/E39steerModule

This is steer actuator module for BMW E39 using with semi-autonomous software openpilot

Size: 698 KB - Last synced at: 9 months ago - Pushed at: 9 months ago - Stars: 6 - Forks: 6

killinen/BrakeModule

BrakeModule is system that will control braking in BMW E39 with BOSCH ABS 5.7.

Language: Python - Size: 13.1 MB - Last synced at: 9 months ago - Pushed at: 9 months ago - Stars: 19 - Forks: 6

coryjfowler/MCP_CAN_lib Fork of Longan-Labs/Arduino_CAN_BUS_MCP2515

MCP_CAN Library

Language: C++ - Size: 152 KB - Last synced at: 9 months ago - Pushed at: 9 months ago - Stars: 692 - Forks: 296

yezzfusl/CAN-Analyzer

A sophisticated CAN bus analyzer in C, featuring real-time data capture, message filtering, decoding, graphical representation, and advanced statistical analysis

Language: C - Size: 74.2 KB - Last synced at: 2 months ago - Pushed at: 9 months ago - Stars: 1 - Forks: 0

Eslam-Abdo/CAN_Protocol

CAN Driver for STM32f103c8

Language: C - Size: 16.6 KB - Last synced at: about 1 month ago - Pushed at: about 2 years ago - Stars: 4 - Forks: 1

SoCXin/STM8S208

L2 R4: ST 24MHz MCU (STM8S207/STM8S208)

Language: C - Size: 4.94 MB - Last synced at: about 1 month ago - Pushed at: over 3 years ago - Stars: 1 - Forks: 0

AIR-UFG/vehicle_interface_packages

This repository contains all the ROS packages related to vehicle interface and control.

Size: 1.95 KB - Last synced at: 9 months ago - Pushed at: 9 months ago - Stars: 0 - Forks: 0

TrickyNekro/OpenServoCAN

An alternative to the boring control boards inside standard size hobby servos!

Language: C - Size: 1.69 MB - Last synced at: 8 months ago - Pushed at: about 3 years ago - Stars: 19 - Forks: 4

win001/CAN_DATA_LOGGER

This project is IoT based data logger for sensors using CAN protocol.

Language: C - Size: 7.46 MB - Last synced at: about 1 month ago - Pushed at: 9 months ago - Stars: 0 - Forks: 0

canbusio/can-bus.io

Another choice for analyzing CAN-bus log data.

Language: Python - Size: 5.86 KB - Last synced at: 9 months ago - Pushed at: 9 months ago - Stars: 0 - Forks: 0

willzhang05/can-websocket-bridge

A bridge for relaying CAN bus frames to a front-end web application using websockets.

Language: Rust - Size: 1.15 MB - Last synced at: 23 days ago - Pushed at: almost 3 years ago - Stars: 3 - Forks: 0

RWU-R2M/PE

Repository for the power electronics department. All information in respect to the electrical hardware, power distribution and wiring of the rover can be found here.

Language: Mermaid - Size: 1.82 MB - Last synced at: 9 months ago - Pushed at: 9 months ago - Stars: 0 - Forks: 0

mac-can/PCBUSB-Wrapper

macOS® Wrapper Library for PCAN-USB Interfaces from Peak-System

Language: C++ - Size: 4.35 MB - Last synced at: 12 months ago - Pushed at: 12 months ago - Stars: 1 - Forks: 1

angelodlfrtr/go-canopen

Canopen implementation in golang

Language: Go - Size: 63.5 KB - Last synced at: 13 days ago - Pushed at: about 1 year ago - Stars: 13 - Forks: 7

mac-can/PCBUSB-Library

macOS® User-Space Driver for PCAN-USB Interfaces (Binaries only)

Language: C - Size: 7.39 MB - Last synced at: 10 months ago - Pushed at: 10 months ago - Stars: 26 - Forks: 0

marineop/CAN_Bus_BitTimingCalculator

CAN 2.0 and CAN FD Bit Timing Calculator

Language: C# - Size: 251 KB - Last synced at: 10 months ago - Pushed at: 10 months ago - Stars: 0 - Forks: 0

Psynosaur/Deye_Battery_Serial_BUS

Reverse engineered Deye battery serial bus reader

Language: C# - Size: 8.97 MB - Last synced at: 10 months ago - Pushed at: 10 months ago - Stars: 5 - Forks: 0

nopnop2002/esp-idf-can2socket

CANbus to BSD-Socket bridge using esp32

Language: C - Size: 62.5 KB - Last synced at: about 1 month ago - Pushed at: 10 months ago - Stars: 4 - Forks: 0

TheMatjaz/Hazelnet

CAN FD bus encryption, authentication and freshness.

Language: C - Size: 537 KB - Last synced at: 10 months ago - Pushed at: almost 3 years ago - Stars: 3 - Forks: 1

kiranj26/CANalyzer-Mimic-Pro

A user-friendly tool inspired by professional CAN analyzers, designed for visualizing and analyzing CAN bus logs (logs in txt format)

Language: Python - Size: 348 KB - Last synced at: 2 months ago - Pushed at: 10 months ago - Stars: 1 - Forks: 0

jagheterfredrik/esphome-rego1000

ESPHome custom component for IVT Rego1000 heat pump controller

Language: C++ - Size: 4.73 MB - Last synced at: 10 months ago - Pushed at: 10 months ago - Stars: 12 - Forks: 5

rubillos/RV-Bridge

Homekit to RV-C bridge - Allows control of RV lights, fans, and thermostats via HomeKit.

Language: C++ - Size: 33.7 MB - Last synced at: 10 months ago - Pushed at: 10 months ago - Stars: 66 - Forks: 8

Osestic/Xbox-Woodpecker-Electrical-Vehicle-Interface

An electrical vehicle control interface

Language: C++ - Size: 933 KB - Last synced at: 3 months ago - Pushed at: 10 months ago - Stars: 0 - Forks: 0

fortebit/Polaris_OBD2_Monitor

Example project to collect and display OBD data from a vehicle CAN bus

Language: Python - Size: 1.95 KB - Last synced at: 6 months ago - Pushed at: almost 5 years ago - Stars: 6 - Forks: 2

flok/luadbc

A simple dbc library written in lua

Language: Lua - Size: 5.86 KB - Last synced at: 10 months ago - Pushed at: 10 months ago - Stars: 0 - Forks: 0

LinuxDevon/dbc_parser_cpp

A DBC file parsing library written in C++11.

Language: C++ - Size: 352 KB - Last synced at: 11 months ago - Pushed at: 11 months ago - Stars: 10 - Forks: 5

fasixoks/ECU-CAN-Signal-Simulation

A comprehensive MATLAB script for simulating CAN signals in an ECU environment.

Language: MATLAB - Size: 13.7 KB - Last synced at: 11 months ago - Pushed at: 11 months ago - Stars: 1 - Forks: 0

windelbouwman/can-bus-explorer

Explore your CAN bus

Language: Python - Size: 23.4 KB - Last synced at: 19 days ago - Pushed at: over 4 years ago - Stars: 7 - Forks: 2

craigpeacock/ESP32_CAN

Demonstration CAN Code for the Espressif ESP32

Language: C - Size: 7.81 KB - Last synced at: 19 days ago - Pushed at: about 5 years ago - Stars: 6 - Forks: 2

amdf/ixxatvci3-examples

Examples for Golang IXXAT VCI3 interface

Language: Go - Size: 3.91 KB - Last synced at: about 2 years ago - Pushed at: almost 5 years ago - Stars: 0 - Forks: 0

tonyrog/can

CAN driver and router

Language: Erlang - Size: 503 KB - Last synced at: 11 months ago - Pushed at: 11 months ago - Stars: 45 - Forks: 20

WangXuan95/FPGA-CAN

An FPGA-based lightweight CAN bus controller. 基于FPGA的轻量级CAN总线控制器。

Language: Verilog - Size: 416 KB - Last synced at: 11 months ago - Pushed at: over 1 year ago - Stars: 186 - Forks: 56

SEA-ME-COSS/ECU-Core

RaspberryPi based ECU that communicates with the local machine

Language: Python - Size: 11 MB - Last synced at: 2 months ago - Pushed at: 11 months ago - Stars: 0 - Forks: 0

SEA-ME-COSS/ECU-Control

RaspberryPi based ECU for the control of PiRacer

Language: Python - Size: 188 KB - Last synced at: about 1 month ago - Pushed at: 11 months ago - Stars: 0 - Forks: 0

mac-can/SerialCAN

Library for CAN-over-Serial-Line Interfaces (SLCAN Protocol)

Language: C - Size: 700 KB - Last synced at: 12 months ago - Pushed at: 12 months ago - Stars: 22 - Forks: 7

bobbycar-reinvented/bobbycar-boardcomputer-reinvented

The boardcomputer reinvented!

Language: Shell - Size: 5.9 MB - Last synced at: 11 months ago - Pushed at: almost 2 years ago - Stars: 0 - Forks: 0

mac-can/KvaserCAN-Library

macOS® Driver and SDK for USB CAN Interfaces from Kvaser

Language: C++ - Size: 7.46 MB - Last synced at: 9 months ago - Pushed at: 9 months ago - Stars: 14 - Forks: 2

Igitigit2/SimpleCanLib

CAN bus library for ESP32 and STM32 G431

Language: C++ - Size: 177 KB - Last synced at: 11 months ago - Pushed at: 11 months ago - Stars: 18 - Forks: 8

uv-software/KvaserCAN-Wrapper

CAN API V3 Wrapper Library for Kvaser CAN Interfaces (Windows®)

Language: C++ - Size: 8.55 MB - Last synced at: 11 months ago - Pushed at: 11 months ago - Stars: 2 - Forks: 1

Franky1/awesome-canbus Fork of iDoka/awesome-canbus

A curated list of awesome CAN bus tools, hardware and resources

Size: 158 KB - Last synced at: 3 days ago - Pushed at: 11 months ago - Stars: 1 - Forks: 0

fabiopapais/can-ids

CAN Network IDS implemented using a machine learning approach. Research intended.

Language: Jupyter Notebook - Size: 20.8 MB - Last synced at: 11 months ago - Pushed at: 11 months ago - Stars: 0 - Forks: 0

mikeypi/candinista

raspberry pi based automotive project for data display and logging

Language: C - Size: 1.87 MB - Last synced at: 11 months ago - Pushed at: 11 months ago - Stars: 2 - Forks: 0

sushantdasputepatil/Embedded-Linux

My Learnings on Embedded linux.

Language: C - Size: 24.4 KB - Last synced at: 12 months ago - Pushed at: almost 6 years ago - Stars: 1 - Forks: 0

sushantdasputepatil/agl-hvac-demo

Demo implementation of hvac on Automotive Grade Linux

Language: C - Size: 58.6 KB - Last synced at: 12 months ago - Pushed at: about 6 years ago - Stars: 3 - Forks: 0

j-c-cook/CAN-Guru

CAN-Guru is an expert GUI package for handling low-level Controller Area Network (CAN) communications, providing users capabilities to manage, diagnose, and analyze CAN data with ease

Language: Python - Size: 26.4 KB - Last synced at: 3 months ago - Pushed at: 11 months ago - Stars: 0 - Forks: 0

mac-can/RusokuCAN.dylib

macOS® Driver and SDK for TouCAN USB Interfaces from Rusoku

Language: C++ - Size: 2.1 MB - Last synced at: 12 months ago - Pushed at: 12 months ago - Stars: 5 - Forks: 3