- 1
- 2
- 3
- 4
- 5
- 6
- 7
// drivers/usb/serial/cp210x.c
static void cp210x_close(struct usb_serial_port *port)
{
usb_serial_generic_close(port);
cp210x_set_config_single(port, CP210X_IFC_ENABLE, UART_DISABLE);
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+139
// drivers/usb/serial/cp210x.c
static void cp210x_close(struct usb_serial_port *port)
{
usb_serial_generic_close(port);
cp210x_set_config_single(port, CP210X_IFC_ENABLE, UART_DISABLE);
}
Дело было так.
На прошлой неделе, по просьбе одного знакомого, я сел писать прошивку для attiny2313, которая должна принять по RS-232 строчку и исполнить соответствующую команду. Потратив несколько минут на раскур даташита, а именно главы, посвященной USART, я набросал тупейший код на сях, залил его на чип, и затестил через миником. Все работало нормально, ничто не предвещало беды...
Но когда я попробовал послать команду через echo, меня ждал облом. Она не выполнилась. На 10 раз проверил код - все ок, в миникоме пашет идеально, через echo - куй. Под виндой та же ересь. Чем отличается echo от миникома? Правильно, тем, что оно отправляет символы подряд, без пауз. Контроллер тактировался от внутренного генератора, поэтому я подумал, что оный хреново откалиброван, и что надо бы его настроить... Вечер ушел на написание прошивки для калибровки... Оказалось, что частота действительно уплыла на 2% от расчетной, что некритично. Ну да пофиг, откалибровался до +-0.5%. Запустил echo - куй. Послал все нахрен, и пошел спать...
(Продолжение в комменте ниже)
+133
function tform1.ExistsFiles(path:string):boolean;
var
hfile:thandle;
fname:string;
WD:win32_find_dataA;
begin
result:=false;
if directoryexists(path)=false then
exit;
path:=includetrailingpathdelimiter(path);
hfile:=FindFirstFile(pchar(path+'*.*'),wd);
if hfile <> invalid_handle_value then
begin
repeat
fname:=string(wd.cFileName);
if (fname <> '.') and (fname <> '..') then
begin
if (wd.dwFileAttributes and file_attribute_directory <> 0) then
begin
if existsfiles(path+fname)=true then
begin
result:=true;
break;
end;
end
else
if ansilowercase(extractfileext(fname))='.txt' then
begin
result:=true;
break;
end;
end;
until findnextfile(hfile,wd) <> true;
windows.findclose(hfile);
end;
end;
Проверяем, есть ли в папке и ее подпапках текстовые документы...
+143
double numberOfDays = (eventWrite.EndDate - eventWrite.StartDate).Days;
int numberOfSteps = (int)numberOfDays / 365;
if (numberOfDays / 365 % 4.0027397260273974 == 0)
numberOfSteps++;
Сколько раз повторится ежегодное событие с учётом високосного года
+69
#define BYTEMAX 0xFF
#define BYTEOVERFLOW (BYTEMAX+1)
C++ вокруг. Интересует насколько это вменяемая практика?
+134
public bool SqlTest(string sql)
{
try
{
if (Utils.ExecuteScalar(sql).ToString() != "8") throw new Exception("Bad result from DB!");
}
catch (Exception ex)
{
LogService.WriteStd("CheckDBRun1: " + sql, ex);
Utils.SQLServerRun();
try
{
if (Utils.ExecuteScalar(sql).ToString() != "8") throw new Exception("Bad result from DB!");
}
catch (Exception ex2)
{
LogService.WriteStd("CheckDBRun2: " + sql, ex2);
return false;
}
}
return true;
}
+135
static int
wl_iw_get_country(
struct net_device *dev,
struct iw_request_info *info,
union iwreq_data *wrqu,
char *extra
)
{
char *ccode;
int current_channels;
WL_TRACE(("%s\n", __FUNCTION__));
ccode = dhd_bus_country_get(dev);
if(ccode){
if(0 == strcmp(ccode, "Q2"))
current_channels = 11;
else if(0 == strcmp(ccode, "EU"))
current_channels = 13;
else if(0 == strcmp(ccode, "JP"))
current_channels = 14;
}
sprintf(extra, "Scan-Channels = %d", current_channels);
printk("Get Channels return %d,(country code = %s)\n",current_channels, ccode);
return 0;
}
На этот раз отличился броадком.
Подсказка: Пользователи с кантри-кодом RU должны СТРАДАТЬ!
+136
/*
* Just a wifi driver hooker.
*
* Yongle Lai @ 2009-05-10 @ Rockchip
*/
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("Dual BSD/GPL");
#ifdef CONFIG_MODVERSIONS
#define MODVERSIONS
#include <linux/modversions.h>
#endif
//#define OLD_WIFI_IFACE
#ifdef OLD_WIFI_IFACE
extern int mv88w8686_if_sdio_init_module(void);
extern void mv88w8686_if_sdio_exit_module(void);
#else
extern int rockchip_wifi_init_module(void);
extern void rockchip_wifi_exit_module(void);
#endif
static int wifi_launcher_init(void)
{
int ret;
printk("=======================================================\n");
printk("==== Launching Wi-Fi driver! (Powered by Rockchip) ====\n");
printk("=======================================================\n");
#ifdef OLD_WIFI_IFACE
ret = mv88w8686_if_sdio_init_module();
if (ret) /* Try again */
ret = mv88w8686_if_sdio_init_module();
#else
ret = rockchip_wifi_init_module();
//if (ret) /* Try again */
// ret = rockchip_wifi_init_module();
#endif
return ret;
}
static void wifi_launcher_exit(void)
{
printk("=======================================================\n");
printk("== Dis-launching Wi-Fi driver! (Powered by Rockchip) ==\n");
printk("=======================================================\n");
#ifdef OLD_WIFI_IFACE
mv88w8686_if_sdio_exit_module();
#else
rockchip_wifi_exit_module();
#endif
}
module_init(wifi_launcher_init);
module_exit(wifi_launcher_exit);
Вот так вот, просто и незатейливо на RK3188 включается и выключается вайфай.
+136
int rkwifi_set_country_code(char *code)
{
sprintf(code, "%s", "EU");
return 0;
}
Где-то в сырцах драйвера вайфая от RK3188...
+131
http://bolknote.ru/files/dogfight/
Возбуждает
+153
App.ns.SomeClass.prototype = {
addMessage: function(status, msg, timeDelay) {
if (status === false || status === this.STATUS_ERROR) {
status = this.STATUS_ERROR;
delay = timeDelay || 5; // default delay of msg box for error is 5 seconds.
}
if (!timeDelay) {
// 1 character - 1/7 sec
delay = msg.length / 7;
if ((delay < 3) && !(timeDelay)) {
delay = 3;
} else if ((delay > 30) && !(timeDelay)) {
delay = 30;
}
}
// показываем messagebox
}
};
Кручу-верчу, запутать хочу.