Analog Engineer’s Pocket Reference PDF

Analog Engineer Pocket Reference

System and board-level design formulas at your fingertips.

This pocket reference is intended as a valuable quick guide for often used board- and system-level design formulae. This collection of formulae is based on a combined 50 years of analog board- and system-level expertise. Much of the material herein was referred to over the years via a folder stuffed full of printouts. Those worn pages have been organized and the information is now available via this guide in a bound and hard-to-lose format!

Here is a brief overview of the key areas included:
• Key constants and conversions
• Discrete components
• AC and DC analog equations
• Op amp basic configurations
• OP amp bandwidth and stability
• Overview of sensors
• PCB trace R, L, C
• Wire L, R, C
• Binary, hex and decimal formats
• A/D and D/A conversions

Download PDF

src://www.ti.com

Простые функции для работы с SPI

void SPI_Init()
{
 DDRD |= (0 << 1) | (1 << 0);
 PORTD |=(0 << 1) | (1 << 0);
 SPCR = (1 << SPE) | (1 << MSTR) | (0 << SPR1) | (0 << SPR0); //0: Fosc/4
 SPSR = (0 << SPI2X); //Double clock rate.
}

uint8_t SPI_Write(uint8_t data)
{
 SPDR = data;
 while (!(SPSR & (1 << SPIF)));
 return SPDR;
}

uint8_t SPI_Read(void)
{
 SPDR = 0xFF;
 while (!(SPSR & (1 << SPIF)));
 return SPDR;
}

8 способов нахождения наибольшего общего делителя

Эта статья появилась на свет совершенно неожиданно. Мне на глаза случайно попался код вычисления НОД на C#.

С первого взгляда мне даже всё понравилось: простенько, лаконичненько и без лишнего выпендрёжа. Однако чем дольше я рассматривал этот код, тем больше возникало сомнений в его эффективности. Я решил сделать маленькое исследование. Читать далее

КАРКАМ 4К RTSP

Для подключения к камере и просмотра видеопотока на стороннем плеере подключаться к rtsp://192.168.1.254:554/xxx.mov

Другие параметры и управление камерой

package com.zsbrother.wearcam.carcam4k.utils;

import android.os.Handler;
import com.zsbrother.wearcam.carcam4k.models.FilesModels;
import java.util.ArrayList;
import java.util.List;

public class Constants {
 public static final String A7_FILE_URL = "/tmp/fuse_d/DCIM/100MEDIA";
 public static final String AMBA_JPG = "mjpeg/amba.jpg";
 public static final String BACKTOCMD = "cgi-bin/cgi?CMD=BACKTOCMD";
 public static String CAMERA_ADDRESS = null;
 public static final String CAMERA_ADDRESS_NOVATEK = "rtsp://192.168.1.254:554/xxx.mov";
 public static final String CAM_BACKTOCMD = "http://192.168.42.1/cgi-bin/cgi?CMD=BACKTOCMD";
 public static final String CAM_SETTINGS = "http://192.168.42.1/cgi-bin/cgi?CMD=CAM_SETTINGS";
 public static final String CFIG = "config";
 public static final String CONFIG = "http://192.168.42.1/pref/config";
 public static final String DEVICEWIFINAME = "amba_boss";
 public static String FILE_URL = null;
 public static final String FORMAT = "cgi-bin/cgi?CMD=FORMAT_SD";
 public static final String MSG_ID = "msg_id";
 public static final int NT_DEL_ALL = 4004;
 public static final int NT_DEL_ONE_FILE = 4003;
 public static final int NT_DISABLE_HDR = 2004;
 public static final int NT_ENABLE_AUDIO = 2007;
 public static final int NT_ENABLE_DATE = 2008;
 public static final int NT_ENABLE_HDR = 2004;
 public static final int NT_ENABLE_MOTION_DETECTION = 2006;
 public static final int NT_FORMAT = 3010;
 public static final int NT_GET_ALL_FILE = 3015;
 public static final int NT_GET_CAPTURE_NUM = 1003;
 public static final int NT_GET_CURRENT_STATUS = 3014;
 public static final int NT_GET_MAX_RECODE_TIME = 2009;
 public static final int NT_GET_THUMB_NAIL = 4001;
 public static final int NT_SET_CAPTURE_SIZE = 1002;
 public static final int NT_SET_CYCLE_RECODE_VALUE = 2003;
 public static final int NT_SET_DATE = 3005;
 public static final int NT_SET_EV = 2005;
 public static final int NT_SET_LIVE_VIEW_SIZE = 2010;
 public static final int NT_SET_MODE_CHANGE = 3001;
 public static final int NT_SET_MOVIE_SIZE = 2002;
 public static final int NT_SET_TIME = 3006;
 public static final int NT_START_MOVIE = 2001;
 public static final int NT_TAKE_PHOTO = 1001;
 public static final String OPTIONS = "options";
 public static final String PARAM = "param";
 public static final String PARAM_SIZE = "param_size";
 public static final String RESET_VF = "http://192.168.42.1/cgi-bin/cgi?CMD=RESET_VF";
 public static final String RESTORE_VIEW = "http://192.168.42.1/cgi-bin/cgi?CMD=RESTORE_VIEW";
 public static String RTSP_URL = null;
 public static final String RVAL = "rval";
 public static final String SESSION_START = "http://192.168.42.1/cgi-bin/cgi?CMD=SESSION_START";
 public static final String SESSION_STOP = "http://192.168.42.1/cgi-bin/cgi?CMD=SESSION_STOP";
 public static final String SETPARAM = "cgi-bin/cgi?%1$sSETPARAM=%2$s";
 public static final String START_RECORD = "cgi-bin/cgi?CMD=START_RECORD";
 public static final int START_SESSION = 5001;
 public static final String STOP_RECORD = "cgi-bin/cgi?CMD=STOP_RECORD";
 public static final String STREAM_TYPE = "stream_type";
 public static final String TAKE_PHOTO = "cgi-bin/cgi?CMD=TAKE_PHOTO";
 public static final String TOKEN = "token";
 public static final String TYPE = "type";
 public static final String VIDEOTAB = "http://192.168.42.1/cgi-bin/cgi?SETTINGS=videoTab";
 public static final String VIDEO_RESOLUTION = "video_resolution";
 public static Handler handler;
 public static int isBrokenPipe;
 public static boolean isCloseApp;
 public static boolean isHaveData;
 public static boolean isLandscape;
 public static boolean isList;
 public static boolean isMultiSelect;
 public static boolean isPictures;
 public static int isReconnection;
 public static boolean isRecord;
 public static boolean isShare;
 public static boolean isStartSession;
 public static boolean isStop_VF;
 public static boolean isdeleteFile;
 public static String newsettingvalue;
 public static List<FilesModels> resultall;

 static {
 CAMERA_ADDRESS = "http://192.168.42.1/";
 FILE_URL = HDCamUtils.str_del_cmd;
 RTSP_URL = "rtsp://192.168.42.1/live";
 isLandscape = false;
 newsettingvalue = "";
 handler = null;
 isShare = true;
 isHaveData = false;
 isMultiSelect = false;
 isPictures = false;
 isStartSession = false;
 resultall = new ArrayList();
 isList = true;
 isStop_VF = false;
 isBrokenPipe = 0;
 isReconnection = 0;
 isCloseApp = false;
 isdeleteFile = false;
 isRecord = false;
 }
}

[свернуть]

Ubertooth

Заметка

ubertooth2_1024x1024Ubertooth-One — аппаратная платформа, сочетающая в себе радиомодуль, активный усилитель и контроллер, управляющий всем этим безобразием.

Платформа создавалась для прослушивания трафика в bluetooth[LE] сетях, чему и посвящены оригинальные прошивки. Так же есть возможность использовать свои прошивки, благо основные библиотеки для работы с устройством открыты и периодически обновляются.

Чем и займемся..

Читать далее

Инерциальная навигационная система

Инерциальная навигационная система

10dof 9-axis :

  1. BMP085 — barometer
  2. L3G4200D — gyroscope
  3. ADXL345 — accelerometer
  4. HMC5883L — magnetometer

10DOF-Module-9-axis-font-b-Attitude-b-font-font-b-Indicator-b-font-L3G4200D-ADXL345

Ссылки:

  1. Фильтр Маджвика
  2. Open source IMU and AHRS algorithms
  3. Заметки о вращении вектора кватернионом
  4. Имитация показаний датчиков с помощью массива точек пути

error: WProgram.h: No such file or directory

Заметка

Дело в том, что в недавно вышедшей IDE версии 1.0 поменялась структура include файлов, теперь в код достаточно включить один-единственный Arduino.h. Разработчики честно предупреждают об этом в прилагаемом к IDE файле revisions.txt. Там же и указан универсальный способ решения проблем совместимости — в старых библиотеках строчку

#include "WProgram.h"

нужно заменить на

  #if defined(ARDUINO) && ARDUINO >= 100
  #include "Arduino.h"
  #else
  #include "WProgram.h"
  #endif

© https://toster.ru/q/15246