summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Walter Fetter Lages [Sat, 20 Aug 2022 02:12:53 +0000 (23:12 -0300)]
Move irs21094-1.sys to external library.
Walter Fetter Lages [Mon, 11 Jun 2018 16:59:43 +0000 (13:59 -0300)]
Fix .gitignore.
Walter Fetter Lages [Wed, 23 May 2018 21:23:07 +0000 (18:23 -0300)]
Fix bug in .gitignore.
Walter Fetter Lages [Tue, 22 May 2018 18:41:21 +0000 (15:41 -0300)]
Remove backup files.
Walter Fetter Lages [Tue, 22 May 2018 18:39:46 +0000 (15:39 -0300)]
Add ICSP interface.
Updated to use FreeRTOSV7.4.2.
Minor changes in Makefiles.
Included ISCP interface.
Walter Fetter Lages [Tue, 22 May 2018 18:35:30 +0000 (15:35 -0300)]
Reworked sorce tree.
Reworked source tree.
Capacitor involucre sizes made invisible in schematics.
Created a workaround to fix a incompatibility between pic30-gcc 3.01 and
FreeRTOS. See the hack 1 in the Hacks file.
Walter Fetter Lages [Tue, 22 May 2018 18:27:37 +0000 (15:27 -0300)]
Change MOSFET driver to IRS21094.
Walter Fetter Lages [Tue, 22 May 2018 18:19:07 +0000 (15:19 -0300)]
Fix encoder processing.
Walter Fetter Lages [Tue, 22 May 2018 18:12:12 +0000 (15:12 -0300)]
Change capacitors footprints.
Walter Fetter Lages [Tue, 22 May 2018 18:05:15 +0000 (15:05 -0300)]
Include authors names in PCB.
Walter Fetter Lages [Tue, 22 May 2018 18:02:49 +0000 (15:02 -0300)]
Fix PCB.
Walter Fetter Lages [Tue, 22 May 2018 17:59:59 +0000 (14:59 -0300)]
Change footprints.
Walter Fetter Lages [Tue, 22 May 2018 17:57:38 +0000 (14:57 -0300)]
Fix Capacitor symbols.
Walter Fetter Lages [Tue, 22 May 2018 17:50:59 +0000 (14:50 -0300)]
Fix power lines in aicpower.sch.
Walter Fetter Lages [Tue, 22 May 2018 15:46:24 +0000 (12:46 -0300)]
Change MOSFET driver to LT1162.
Walter Fetter Lages [Tue, 22 May 2018 15:32:36 +0000 (12:32 -0300)]
Fix bugs in PCB.
Walter Fetter Lages [Tue, 22 May 2018 15:22:27 +0000 (12:22 -0300)]
Fix bugs in PCB.
Walter Fetter Lages [Tue, 22 May 2018 15:20:34 +0000 (12:20 -0300)]
Finish PCB.
Walter Fetter Lages [Tue, 22 May 2018 15:15:06 +0000 (12:15 -0300)]
Change footprints.
Walter Fetter Lages [Tue, 22 May 2018 15:12:20 +0000 (12:12 -0300)]
Integrate net interface in aicpic.sch.
Walter Fetter Lages [Tue, 22 May 2018 15:05:50 +0000 (12:05 -0300)]
Split net interface.
Walter Fetter Lages [Tue, 22 May 2018 14:49:04 +0000 (11:49 -0300)]
Remove CNC files from wrong version.
Walter Fetter Lages [Tue, 22 May 2018 14:46:51 +0000 (11:46 -0300)]
Remove PCB files from wrong version.
Walter Fetter Lages [Tue, 22 May 2018 14:25:19 +0000 (11:25 -0300)]
Change processor to dsPIC30F4012 and MOSFET driver to MAX5062.
Walter Fetter Lages [Sun, 20 May 2018 06:29:45 +0000 (03:29 -0300)]
Fix bug with math accelerator.
Incluido destrutor virtual na classe AIC_COMM.
Alterada a implementacao da serializacao de valores double em
AIC_UDP::send_command().
Corrigido bug no processamento dos argumentos dos comandos AIC_USER0,
AIC_USER1, AIC_USER2 e AIC_USER3.
Incluido o diretorio /usr/src/linux/include, na variavel de ambiente
CINCLUDE.
Criada a classe Sputtering na biblioteca, para suportar a aplicacao de
controle do sputtering.
Criadas constantes com os bits de flags do pacote de status da AIC.
Processamento de comandos enviados para a AIC alterado para suportar
comandos definidos pelo usuario.
Modificado o arquivo lib/aicio/pwm.a51 para nao utilizar o acelerador
matematico, que estava gerando problemas de reentrancia.
Alterado o arquivo doc/Makefile para utilizar os nomes dos arquivos de
layout gerados pela nova versao (
20060321) do PCB.
Criados os programas SputPIDweb, SputPIDDaemon e sputtering.
Renomeado o programa SputDaemon para SputWeb.
Walter Fetter Lages [Sun, 20 May 2018 06:21:58 +0000 (03:21 -0300)]
Change the domain of the AIC java packate to br.ufrgs.ece.
Incluidos os esquematicos e o layout do PCB no arquivo de documentacao em pdf.
Criado o programa DoorWeb.
Criado o target upload nos Makefiles, para fazer o upload dos programas nas
AICs.
Criado o programa DoorOpen.
Removido o arquivo lib/aicio/motor.a51. As variaveis globais estao agora
definidas em lib/aicio/motor.c.
Corrigido o problema na funcao pwm_set_duty(), que nao funcionava em tempo
real. Os registradores do banco 1 nao podem ser utilizados em rotinas de
interrupcao.
Corrigido um bug na rotina native_initialize do PWM. Estava sendo dado um
push de um registrador do banco 1, quando deveria ser do banco 0.
Criado o identificador de comando MOTOR_REF, para enviar para a AIC a
referencia para o PID implementadod pelo programa PIDDaemon.
Alterado o "dominio" do pacote AIC para br.ufrgs.ece.
Walter Fetter Lages [Sun, 20 May 2018 06:12:52 +0000 (03:12 -0300)]
Change Makefiles to use variables defined in the main Makefile.
Criado o programa CmdDaemon, semelhante ao IODaemon, mas apenas recebe
comandos, sem enviar dados de sensores.
Reestruturados os Makefiles. Agora os Makefiles nos diretorios utilizam as
variaveis definidas no Makefile no diretorio principal, ao inves de
redefini-las. As redefinicoes sao feitas apenas nas (poucas) vezes em que
sao necessarias.
Removidas as declaracoes de variaveis globais em arquivos em Assembly e
criada uma funcao dummy para defini-las nos arquivos C, ja' que nao e'
possivel emitir Assembly in-line fora de funcoes.
Walter Fetter Lages [Sun, 20 May 2018 06:08:22 +0000 (03:08 -0300)]
Change the Real-time in AIC to use the RTAI API.
Criado o programa EncoderRtRead para teste do encoder em tempo real
utilizando as funcoes de ponto flutuante, ou seja, obtendo a leitura em
radianos.
Incluido suporte para ponto-flutuante. Implementadas em C as funcoes de
interface que utilizam ponto flutuante.
Criados os programas EncoderRtTest para teste do encoder em tempo real.
Criado o programa MotorRtTest para teste do motor em tempo real, utilizando
as funcoes de ponto flutante.
Criado o programa PwmRtTest, para teste do PWM em tempo real em C.
Incluidas no aicio.h consantes com a frequencia de referencia, frequencia de
chaveamento, delay de turn-off e contagens maximas e minimas do PWM.
Programas de tempo real modificados para utilizar a API do RTAI (Real Time
Application Interface) para a TINI, ao inves de implementar diretamente todo
o tratamento de tempo real.
Walter Fetter Lages [Sun, 20 May 2018 06:00:17 +0000 (03:00 -0300)]
Create command daemon on AIC.
Walter Fetter Lages [Sun, 20 May 2018 05:55:16 +0000 (02:55 -0300)]
Fix bugs.
Walter Fetter Lages [Sun, 20 May 2018 05:43:36 +0000 (02:43 -0300)]
Create a real-time library to access the AIC hardware.
Criado o programa DoorDaemon, para implementar a abertura de uma porta
conectada no sinal de freio da AIC atraves da Internet, utilizando um
protocolo CHAP com sha-1.
Criada a biblioteca aicio.mpp.lib, com funcoes implementadas que podem ser
chamadas a partir de modulos de tempo real em C para acessar o hardware da
AIC. Codigos fontes dos metodos nativos que acessam o hardware modificados
para usarem a biblioteca aicio.mpp.lib.
Criado o programa PID, que implementa em tempo real o prototipo de um
controlador PID, com transferencia de referencias e variaveis de saida entre
a interface com o usuario e o modulo de tempo real.
Criados os programas BrakeRtTest e IndexRtTest para de teste do freio e do
indice em tempo real em C.
Walter Fetter Lages [Sun, 20 May 2018 05:34:17 +0000 (02:34 -0300)]
Remove temporary files.
Walter Fetter Lages [Sun, 20 May 2018 05:21:20 +0000 (02:21 -0300)]
Add PID to run on AIC.
Walter Fetter Lages [Sun, 20 May 2018 04:28:40 +0000 (01:28 -0300)]
Fix bug in initializaiton of AIC_CAN and AIC_HOST_CAN.
Corrigido bug nas inicializacao das classes AIC_CAN e AIC_HOST_CAN que
violava o padrao ISO C++ e impedia estas classes de serem compiladas com o
g++ 3.4.3.
Walter Fetter Lages [Sun, 20 May 2018 04:09:57 +0000 (01:09 -0300)]
Hardware access implemented im assembly as native methods in Java classes.
Corrigido bug nas inicializacao das classes AIC_CAN e AIC_HOST_CAN que
violava o padrao ISO C++ e impedia estas classes de serem compiladas com o
g++ 3.4.3.
Alterados os nomes das classes utilizadas para sinalizar excecoes. Foram
removidos os prefixos que podem ser deduzidos a partir da hierarquia de
classes.
Corrigido o log dos comandos no IODaemon no modo debug. Agora e' logado o
codigo do comando em decimal.
Corrigido bug na classe HostCAN, que fazia com que a filtragem das mensagens
nao funcionasse. O centro de mensagens 15 foi desabilitado. A recepcao de
mensagens passou a funcionar no modo WriteOver.
Corrigido bug nos metodos Encoder::read() e Encoder::readAndClear(). O
calculo da conversao de numero de pulsos para radianos estava errado.
Removido o flag canWANT_EXCLUSIVE dos construtores das classes AIC_CAN e
AIC_HOST_CAN. Com isto pode-se compartilhar a placa PCICAN entre
aplicacoes.
Criado buffer de mensagens estatico nas classes AIC_CAN e AIC_HOST_CAN para
armazenar as mensagens destinada as outras instancias da classe.
Criada documentacao on-line para a biblioteca em C++ e em Java utilizando o
Doxygen.
Eliminada a documentacao utilizando o javadoc.
Ajustados os Makefiles para criar os arquivos .runinfo utilizados pelo
RTAI-3.x.
Removido o periodo do programa pid. Agora o controlador executa com ciclo
livre, temporizado pelo processo de amostragem.
Criado um destructor virtual para a classe AIC. A falta deste destructor
causava erro de segmentacao quando da destruicao do objeto.
Alterados programas em C++ para permitirem a passagem na linha de comando do
numero da porta de status a ser utilizada (porta de comando no caso do
aicd).
Criados os programas BrakeApply e BrakeRelease.
Criada a macro RESTORE_STRETCH, utilizada nas biblotecas nativas para
retornar o strech ao valor original.
Criadas versoes das macros SET_STRETCH e RESTORE_STRETCH que nao geram
codigo. Atraves de compilacao condicional as versoes que nao geram codigo
sao utilizadas quando o valor de strech e' negativo. Esta caracteristica e'
utilizada para utilizar o valor de stretch default da TINI.
Alterados o esquematico e o layout do PCB para utilizar 6N137 ao inves de
6N136.
Alterados os Makefiles dos programas que necessitam do suporte do RTAI para
funcionarem com o RTAI-3.x.
Alterados programas de teste e aplicativos em Java para eliminar excessoes
de endereco invalido, que nao sao mais geradas pela classe AIC.
Metodos das classes Brake, Index, Encoder e PWM implementados em Assembly
como metodos nativos.
Walter Fetter Lages [Sun, 20 May 2018 03:54:13 +0000 (00:54 -0300)]
Change application protocol from ASCII to binary.
Consolidadas as constantes definindo enderecos dos dispositivos na AIC na
classe PLD. Consolidadas as constantes definindo bits do registrador de
controle na classe CtrlRegister.
Passou a ser utilizado o header iostream ao inves de iostream.h, conforme o
novo padrao de C++. Esta adaptacao foi necessaria para compilacao com o GCC
3.3.2.
Alterados os codigos identificadores de comandos e status, por estarem
relacionados com a prioridade das mensgens no barramento CAN. Os novos
codigos conferem uma prioridade mais adequada aos diversos tipos de
mensagens. Alterada a documentacao para refletir as mudancas nos
protocolos. Programas em C++ alterados para utilizar comunicacao CAN por
default. A comunicacao por UDP e' suportada atraves de opcao na linha de
comando.
Alterado o protocolo de aplicacao de ASCII para binario, com alteracao no
prototipo das funcoes de baixo nivel para transmissao e recepcao de comandos
e status.
Walter Fetter Lages [Sun, 20 May 2018 03:22:54 +0000 (00:22 -0300)]
Add communication with hosts.
Documentados os protocolos de aplicacao e classes das bibliotecas.
IODaemon alterado para utilizar comunicacao CAN por default. A comunicacao
por UDP e' suportada atraves de opcao na linha de comando.
Criada documentacao das classes em AIC.jar no formado javadoc. Alterado o
Makefile para criar documentacao em doc/javadocs.
Programas em C++ alterados para utilizarem comunicacao por CAN por default e
por UDP quando compilados com USE_UDP definido. Makefiles alterados para
compilar duas versoes dos programas.
Alteradas as classes utilizadas para representar excessoes. Criada uma
hierarquia mais detalhada.
Alteracao na classe AIC_HOST, que tornou-se virtual. Criadas classes
AIC_HOST_UDP e AIC_HOST_CAN, derivadas de AIC_HOST.
Alteracao da classe AIC, que tornou-se virtual. Criadas classes AIC_UDP e
AIC_CAN, derivadas de AIC.
Alteracao na classe Host, que tornou-se abstrata. Criadas classes HostUDP e
HostCAN, derivadas de Host.
Walter Fetter Lages [Sun, 20 May 2018 03:00:10 +0000 (00:00 -0300)]
Initial commit.
aic-1.0.0 based on TINI.