Merge branch 'avrdudes:main' into main
This commit is contained in:
commit
a8de8b8b8f
|
@ -14,6 +14,7 @@ INSTALL
|
|||
Makefile.in
|
||||
Makefile
|
||||
ac_cfg.h.in
|
||||
ac_cfg.h.in~
|
||||
aclocal.m4
|
||||
autom4te.cache
|
||||
configure
|
||||
|
|
1
NEWS
1
NEWS
|
@ -64,6 +64,7 @@ Changes since version 6.4:
|
|||
- Fix typos all over the code #807
|
||||
- Add MSVC builds and better WinUSB/FTDI support #798
|
||||
- buspirate: fix invalidScanfArgType_int warning #808
|
||||
- Ignore ac_cfg.h.in~ #810
|
||||
|
||||
* Internals:
|
||||
|
||||
|
|
|
@ -299,7 +299,7 @@ endif()
|
|||
|
||||
if(NOT WIN32)
|
||||
set(LIB_MATH m)
|
||||
#add_compile_options(-Wall -Wextra -pedantic)
|
||||
add_compile_options(-Wall) # -Wextra
|
||||
endif()
|
||||
|
||||
if(MSVC)
|
||||
|
|
|
@ -103,11 +103,28 @@ avrftdi_tpi_initialize(PROGRAMMER * pgm, AVRPART * p)
|
|||
|
||||
#define TPI_PARITY_MASK 0x2000
|
||||
|
||||
static inline int count1s(unsigned int x)
|
||||
{
|
||||
#if defined(__GNUC__)
|
||||
return __builtin_popcount(x);
|
||||
#else
|
||||
int count = 0;
|
||||
|
||||
while (x)
|
||||
{
|
||||
count += x & 1;
|
||||
x >>= 1;
|
||||
}
|
||||
|
||||
return count;
|
||||
#endif
|
||||
}
|
||||
|
||||
static uint16_t
|
||||
tpi_byte2frame(uint8_t byte)
|
||||
{
|
||||
uint16_t frame = 0xc00f;
|
||||
int parity = __builtin_popcount(byte) & 1;
|
||||
int parity = count1s(byte) & 1;
|
||||
|
||||
frame |= ((byte << 5) & 0x1fe0);
|
||||
|
||||
|
@ -123,7 +140,7 @@ tpi_frame2byte(uint16_t frame, uint8_t * byte)
|
|||
/* drop idle and start bit(s) */
|
||||
*byte = (frame >> 5) & 0xff;
|
||||
|
||||
int parity = __builtin_popcount(*byte) & 1;
|
||||
int parity = count1s(*byte) & 1;
|
||||
int parity_rcvd = (frame & TPI_PARITY_MASK) ? 1 : 0;
|
||||
|
||||
return parity != parity_rcvd;
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <io.h>
|
||||
#include <intrin.h>
|
||||
#include <malloc.h>
|
||||
|
||||
#pragma comment(lib, "advapi32.lib")
|
||||
|
@ -35,19 +34,6 @@
|
|||
|
||||
#define setvbuf msvc_setvbuf
|
||||
|
||||
static inline int __builtin_popcount(unsigned int v)
|
||||
{
|
||||
int count = 0;
|
||||
|
||||
while (v)
|
||||
{
|
||||
count += v & 1;
|
||||
v >>= 1;
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
static inline int msvc_setvbuf(
|
||||
FILE* const public_stream,
|
||||
char* const buffer,
|
||||
|
|
Loading…
Reference in New Issue